求java大神帮我检查一下一段小程序,谢谢!
图片中程序的要求是用random方法随机生成一个素数并输出,但我感觉自己的运行结果不是素数,谁能告诉我代码哪里出了问题?谢谢!publicstaticvoidmain(S...
图片中程序的要求是用random方法随机生成一个素数并输出,但我感觉自己的运行结果不是素数,谁能告诉我代码哪里出了问题?谢谢!public static void main(String[] args) { int suijishu,i=2; do{ suijishu=(int)(1000*Math.random()); if((suijishu==0)|(suijishu==1)) continue; if(suijishu==2) break; for(i=2;i<(suijishu-1);i++){ if((suijishu%i)!=0) continue; break; } }while((suijishu%i)!=0&i==(suijishu-1)); System.out.print(suijishu); }
展开
1个回答
展开全部
这是我修改后的程序:
public static void main(String[] args) {
int suijishu,i=2;
boolean found=false;
do{
suijishu=(int)(1000*Math.random());
if((suijishu==0)|| (suijishu==1)) continue;
if(suijishu==2)
{
found=true;
break;
}
for(i=2;i<suijishu / 2;i++){
if((suijishu % i)!=0)
{
found=true;
continue;
}
found=false;
break;
}
}while(!found);
System.out.print(suijishu);
}
public static void main(String[] args) {
int suijishu,i=2;
boolean found=false;
do{
suijishu=(int)(1000*Math.random());
if((suijishu==0)|| (suijishu==1)) continue;
if(suijishu==2)
{
found=true;
break;
}
for(i=2;i<suijishu / 2;i++){
if((suijishu % i)!=0)
{
found=true;
continue;
}
found=false;
break;
}
}while(!found);
System.out.print(suijishu);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询