素数java程序找不到错误 [英] java program of prime number unable to find error

查看:91
本文介绍了素数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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆