如何将我的因子代码转换为Prime和复合标识符?

时间:2014-11-29 14:04:26

标签: java primes composite

我已经创建了一个程序,给出了每个输入数字的因子。

我很困惑,我怎么能得到Prime和Composite;

问题: 如果数字是素数,则接受一个数字并显示消息“PRIME”,否则显示消息“COMPOSITE”。

我说的是我创建了因子代码。我无法理解这里的逻辑,我知道可能的逻辑是我创建的因子代码。 我现在想要具体的答案。我想知道如果它的素数或复合

我怎么能得到的逻辑

这是我的保理代码:

import java.util.Scanner;

class factors{

    public static void main(String[] args){
        Scanner n = new Scanner(System.in);
        int num;
        int ctr=1;
        System.out.print("Enter a number : ");
        num = n.nextInt();
        while(ctr<=num){
            if(num%ctr==0){
                System.out.print(ctr + "\t");
            }
            ctr++;
        }
        System.out.println();
    }

}

1 个答案:

答案 0 :(得分:0)

尝试类似:

 boolean primeNum = true;     

 for(int ctr=2; ctr<=num/2; ctr++) {
      if (num%ctr == 0) {
          primeNum = false;
          break;
      }
 }

 if (primeNum) {
     System.out.println("Yes its a prime number");
 }

它在除数后检查余数(即num%ctr)。如果它完全可分,则余数将为0,这就是我在if条件下所拥有的。如果条件满足,我们打破for循环并检查primeNum布尔变量以断言相同。