提个简单的判断问题?

haoxiongok 2008-05-26 11:22:24

public class SuShu
{
public static void main(String[] args)
{
int i,j;
for(j=1;j<=50;j++)
{
for(i=2;i<=j/2;i++){
if(j%i==0)
break;

}
if(i>j/2)//当j等于5的时候,此判断为不成立,为什么还输出后面的结果呢?
System.out.println(j+"是素数!");

}
}
}
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
KKK2007 2008-05-26
  • 打赏
  • 举报
回复
5/2=2
xiazhigen 2008-05-26
  • 打赏
  • 举报
回复
楼上的是对的 5/2不是2.5 而是2 这个初学的时候很容易出错
lovingprince 2008-05-26
  • 打赏
  • 举报
回复
j=5的时候,这个条件是成立的。

原因如下:
j=5时,j/2=2;
在循环for(i=2;i <=j/2;i++)的时候j=5时,第一次循环是成立的,此时i=2;在第一循环结束后,i++,这是i=3;条件随即不成立了,

所以跳出循环,执行if(i>j/2) 也就是if(3>2) ,你说这个条件成立么??呵呵

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧