我如何使PrimeNumber生成器正常工作?

时间:2018-09-22 13:59:06

标签: java return generator

我试图写一个质数发生器。 calcall()方法应返回素数(2,3,5,7 ...)。不幸的是,我得到了一个错误,该方法不返回整数,据我所知。这是我的代码:

package primenumber;

public class primecalc {

    public static int calcall(int a) {            //actual generator
        int konstante = a;                        //is this number a prime num?     
        int divisor = a-1;                        //divisor
        int var1 = 0;                             //variable = 0
        while(divisor>1) {                        
            int quotient = konstante%divisor;     //calc modulo
            if(quotient == 0) {                   //if modulo==0 switch var1 to 
                var1++;                           //1 -> no primenumber                           
                break;                            //stop calculating
            } else {                              //else keep calculculating
                divisor--;                        //until divisor <= 1 
            }
        }
        if(var1==0) {                             //if var1 still 0; 
            return konstante;                     //is a primnumber -> 
        }                                         //return konstante                            
    }

    public static void main(String[] args) {      //main function
        int number = 3;                           //start with 3
        while(True) {                             //(i'll add 2 manually)
            System.out.println(calcall(number));  //print the prime number
            number++;                             //increase number by one
        }               
    }    
}

错误是:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    This method must return a result of type int    
    at primenumber/primenumber.primecalc.calcall(primecalc.java:5)
    at primenumber/primenumber.primecalc.main(primecalc.java:28)

怎么了?

1 个答案:

答案 0 :(得分:1)

您发布的代码上的灰线被编译器忽略。

使用/**/可以使两者之间的所有内容都被编译器视为注释。这就是为什么这些线变灰的原因。如果您想在代码的同一行中进行注释,建议您使用//

此外,通常的做法是仅使用多行注释来描述函数并将它们放在函数头上方。其他任何评论都应简短,简洁并描述功能。好的解释应该是好的变量名和写得很好的代码,并且在难以理解正在发生的事情时,应使用单行注释。

欢呼