这段程序哪错了

来源:百度知道 编辑:UC知道 时间:2024/05/06 01:33:03
public static void main(String[] args) {
int i,j,m=0;
for(i=2;i<=100;i++)
{
for(j=2;j<=i/2;j++)
{
boolean yes;

yes=(i%j==0);
if(yes=true)
break;
else
continue ;
}
if(yes=false)
System.out.print(i+" ");

}

最后一个if(yes=false)

因为楼主的boolean yes;的生命周期是在for(j=2;j<=i/2;j++){}中
而最后一个if(yes=false)已经不在这个for语句中了,所以会报错。
改正方法:
把boolean yes;放到int i,j,m=0; 的后边,这样,yes的生命周期,就是整个main方法。

而且,楼主应该把所有的yes=false 或者 yes=true,改成yes==false 或者 yes==true;
因为楼主写的是赋值语句,而不是判断是否相当的语句

if(yes=false)
改成
if(yes==false)

这个boolean 变量 yes
是在
for(j=2;j<=i/2;j++)
{
boolean yes;

yes=(i%j==0);
if(yes=true)
break;
else
continue ;
}
这里面定义的
if(yes=false)
System.out.print(i+" ");

}这个里面不认识

主要看你这段是什么程序源代码
int i,j,m=0;
这段就不太正规

PS:现在的年轻人就是不注重小的细节- -

if(yes=true) 。。。。?
你这个是判断语句吧 那就用“==”
而=是赋值 你的两处判断语句都是这个错误