问答详情
源自:4-9 Java循环语句之 for

这段代码最后哪里错了

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  为什么不行

提问者:蘑了个毒菇 2017-02-24 15:11

个回答

  • 咸甜适中
    2017-02-24 16:36:00

    sum为局部变量,只能在循环体内有效。

    最后输出用的sum变量为全局变量,sum前面未定义,无法使用。

  • Sedate1202
    2017-02-24 16:21:34

    ("1到100之间不能被3整除的数之和为:" + sum)  这里  1到100之间不能被3整除的数之和为 是可是直接在运行结果了显示的。但是要显示sum的内容  必须要加 + 

  • Sedate1202
    2017-02-24 16:19:43

    这里的+ 是连接符  没有实际意义!  

  • qq_木头人_19
    2017-02-24 16:01:03

    666666

  • qq_木头人_19
    2017-02-24 15:59:25

    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); 

    }


    }


  • 慕田峪4801677
    2017-02-24 15:56:53

    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循环体里面判断比较好

  • qq_木头人_19
    2017-02-24 15:56:51

    这可能与变量的作用范围有关,

    我知道有个全局变量;和局部变量;

  • 慕粉0849021849
    2017-02-24 15:53:12

    首先当i=3时,循环的判断条件错误,导致循环无法继续下去,所以判断条件建议改为if判断句。第二就是你的sum是局部变量,除非你声明时把它设为全局变量