蘑了个毒菇
2017-02-24 15:11
public static void main(String[] args) { for(int i=1,sum=0;(i<=100) && (i%3!=0);i++){ sum=sum+i; } System.out.println("1到100之间不能被3整除的数之和为:" + sum); 最后变量输出 sum 为什么不行
sum为局部变量,只能在循环体内有效。
最后输出用的sum变量为全局变量,sum前面未定义,无法使用。
("1到100之间不能被3整除的数之和为:" + sum) 这里 1到100之间不能被3整除的数之和为 是可是直接在运行结果了显示的。但是要显示sum的内容 必须要加 +
这里的+ 是连接符 没有实际意义!
666666
package hello;
public class text09 {
public static void main(String[] args){
int sum=0;
for(int i=1;(i<=100);i++){
if(i%3!=0){
sum=sum+i;
}
}
System.out.println("1到100之间不能被3整除的数之和为:" + sum);
}
}
public static void main(String[] args)
{
int sum=0;
for(int i=1;i<=100;i++)
{
if(i%3!=0)
sum=sum+i;
}
System.out.println("1到100之间不能被3整除的数之和为:" + sum);
应该这样,一个是注意变量作用于问题。另外一个注意当i=3的时候,i%3会等于0,这个时候for循环判断条件将不满足同时就不会执行循环体,将会直接数据1和2的和,我觉得将是否能被3整除移植到for循环体里面判断比较好
这可能与变量的作用范围有关,
我知道有个全局变量;和局部变量;
首先当i=3时,循环的判断条件错误,导致循环无法继续下去,所以判断条件建议改为if判断句。第二就是你的sum是局部变量,除非你声明时把它设为全局变量
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题