谢谢大佬,考试试题,望帮忙

编写程序,从键盘输入一个整数,判断它能否被 3、5、7 整除,并输出以下信息之一:(1) 能同时被 3、5、7 整除;(2) 能被其中的两个数(显示这两个数)整除;(3) 能被其中的一个数(显示该数)整除;(4) 不能被 3、5、7 任一个整除

需要编写独立函数么

void main()
{
    int n;
    scanf("%d",&n);
    bool b3 = (n%3==0);
    bool b5 = (n%5==0);
    bool b7 = (n%7==0);
    if(b3 && b5 && b7)
        printf("%d能被3,5,7同时整除\n",n);
    else if(b3 && b5)
        printf("%d能被3,5同时整除\n",n);
    else if(b3 && b7)
        printf("%d能被3,7同时整除\n",n);
    else if(b5 && b7)
        printf("%d能被5,7同时整除\n",n);
    else if(b3)
        printf("%d能被3整除\n",n);
    else if(b5)
        printf("%d能被5整除\n",n);
    else if(b7)
        printf("%d能被7整除\n",n);
    else)
        printf("%d能不能被3,5,7整除\n",n);
}

 

 
public static void main(String[] args){
        int num,count=0 ;
        String res="";
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入数字:");
        num = scan.nextInt();
        if ( num % 3 == 0 ){
            count++;
            res=3+" ";
        }
        if ( num % 5 == 0 ){
            count++;
            res=5+" ";
        }
        if ( num % 7 == 0 ){
            count++;
            res=7+" ";
        }
        switch (count){
            case 3:
                System.out.println("能同时被 3、5、7 整除;");
                break;
            case 2:
                System.out.println("能被其中的两个数"+res+"整除;");
                break;
            case 1:
                System.out.println("能被其中的一个数"+res+"整除;");
                break;
            default:
                System.out.println("不能被 3、5、7 任一个整除");
        }
    }

如有帮助,请采纳

package test;

import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner scan=new Scanner(System.in);
        int num=scan.nextInt();
        int[] a={3,5,7};
        List<Integer> list=new LinkedList<>();
        for(int i=0;i<a.length;i++){
            if(num%a[i]==0){
              list.add(a[i]);
            }
        }
        if(list.size()==1){
            System.out.println("能被其中的一个数"+list.get(0)+"整除");
        }else if(list.size()==2){
            System.out.println("能被其中的两个数"+list.get(0)+","+list.get(1)+"整除");
        }else if(list.size()==3){
            System.out.println("能同时被 3、5、7 整除");
        }else {
            System.out.println("不能被 3、5、7 任一个整除");
        }
    }
}