素数java程序找不到错误 [英] java program of prime number unable to find error
本文介绍了素数java程序找不到错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
class prime
{
public static void main(String args[])
{
System.out.println("number is :"+" "+args[0]);
int i,n;
i=Integer.parseInt(args[0]);
for(n=2;n<=i-1;n++)
{
if(i%n==0)
{
System.out.println("number is not prime"+ " "+i);
break;
}
else if(i==n)
System.out.println("number is prime" + " "+i);
}
}
}
推荐答案
更改:
1. else if(i == n)///这在for循环内.应该在外面.
试试:
Change:
1. else if(i==n) /// this is inside for loop. Should be outside.
Try:
for(n=2;n<=i-1;n++)
{
if(i%n==0)
{
System.out.println("number is not prime"+ " "+i);
break;
}
}
if(i==n)
System.out.println("number is prime" + " "+i);
作为进一步改进(不是错误),您可以在n/2被越过后停止循环,就好像给定数字的一半没有任何因数,而一半以上也没有.
As a further refinement (not an error), you can stop your loop once n/2 is crossed as if half of a given number does not have any factors then more than half too would not.
这篇关于素数java程序找不到错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文