fsnh
2016-01-11 15:54
public class Demo10409 {
public static void main(String[] args) {
for( int sum=0,i=1;i<=100 ; i++){
if(i%3!=0){
sum=sum+i;
}
}
System.out.println("1到100之间不能被3整除的数之和为:"+sum);
}
最后的输出行如果加上sum就会显示,去掉+sum就没事 sum cannot be resolved to a variable
首先你这个sum变量在for循环内可以使用,出了这个范围就找不到这个变量了,肯定报错,修改后的代码:
public class CS {
/**
* @param args
*/
public static void main(String[] args) {
int sum = 0;
int i ;
for (sum = 0, i = 1; i <= 100; i++) {
if (i % 3 != 0) {
sum = sum + i;
}
}
System.out.println("1到100之间不能被3整除的数之和为:"+sum);
}
}
只能采纳一个,没办法了,我倒是想三个都采纳,让帮助过我的大家都有分加
sum为局部变量,非全局变量。即在for(int sum)中,sum的生命周期是在for以内才有效,如果运行到for以后,也就是for(){}以外的范围,就不在sum的生命周期以内了,要修改的话,在for之前声明int sum;,而不是在for()内声明
你把sum变量申明在for循环外面不就好了
sum在for循环里定义的,在for循环外取不到,
int sum=0; for(int i=1;i<=100 ; i++){ if(i%3!=0){ sum=sum+i; } }
这样就行了
Java入门第一季(IDEA工具)升级版
1165538 学习 · 17586 问题
相似问题