Java 如果一个数字不是质数,那么我们必须打印出它可以被什么整除的数字

Java 如果一个数字不是质数,那么我们必须打印出它可以被什么整除的数字,java,Java,在这里,我需要输出,如果它不是一个素数,那么我们必须输出它可以被什么数整除,但我不能得到它打印出来。我需要这方面的帮助。有人能给我一些关于如何得到可除数的建议吗?只要把你的语句从count改为num1,因为你已经在do循环中确定num可以被num1除 import java.util.Scanner; public class exam2015q2 { public static void main (String args[]) { Scanner scan =

在这里,我需要输出,如果它不是一个素数,那么我们必须输出它可以被什么数整除,但我不能得到它打印出来。我需要这方面的帮助。有人能给我一些关于如何得到可除数的建议吗?

只要把你的语句从
count
改为
num1
,因为你已经在
do
循环中确定
num
可以被
num1

import java.util.Scanner;
public class exam2015q2
{
    public static void main (String args[])
    {
        Scanner scan = new Scanner(System.in);
        System.out.println("Eneter a number");
        int num = scan.nextInt();
        int num1 = num-1;
        int count = 0;

        if(num % 2 == 0)
        {

            count++;

            System.out.println(+num+ " Is an even number");
        }
        else
        {
            System.out.println(num+" Is an odd number");
        }

        boolean isPrime = true;

        do {

            if(num % num1 == 0)
            {
                isPrime = false;
                break;
            }
            num1--;
        }
        while(num1 >= 2);
        if(isPrime == true)
        {
            System.out.println(num +" is a prime number  as it is only divisible by 1 and " +num);
        }
        else
        {
            System.out.println(num +" is NOT a prime number.It is divisible by " +count);

        }
    }
}
public static void main (String args[])
    {
        Scanner scan = new Scanner(System.in);
        System.out.println("Eneter a number");
        int divisibleBy;
        int num = scan.nextInt();
        int num1 = num-1;
        int count=0;

        if(num%2==0)
        {
            count++;
            System.out.println(+num+ " Is an even number");
        }
        else
        {
            System.out.println(num+" Is an odd number");
        }
        boolean isPrime = true;
        do{
            if(num%num1==0)
            {
                divisibleBy = num1;
                isPrime = false;
                break;
            }
            num1--;
        }
        while(num1>=2);
        if(isPrime == true)
        {
               System.out.println(num +" is a prime number  as it is only divisible by 1 and " +num);
        }
        else
        {
            System.out.println(num +" is NOT a prime number.It is divisible by " +divisibleBy);



 }
}

如图所示,你可以在你的程序中完全去掉
count

而且很酷,兄弟,这不是一个howrk问题,顺便说一句,这是一个考试问题,永远不要使用代码(isPrime==true)。你使用布尔的原因是为了避免比较,因为比较已经完成了。天哪,不,我想知道如果它不是质数,你如何打印出它可以被什么数整除
else{
    System.out.println(num +" is NOT a prime number.It is divisible by " +num1);
}