最后的这一行代码输出为什么错误,为什么不能输出变量i

来源:4-9 Java循环语句之 for

慕设计4527768

2018-03-10 18:22

public class HelloWorld {

    public static void main(String[] args) {

int sum = 0; // 保存不能被3整除的数之和

// 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环

for (int i = 1;i<=100     ; i++        ) {

// 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除

if (i % 3 != 0) { 

sum = sum + i; // 累加求和

}

}

System.out.println("1到100之间不能被3整除的数之和为:" + sum);

System.out.println(i);


写回答 关注

3回答

  • 慕哥7408877
    2018-03-10 19:34:37

    i是在for循环内被定义的,而你的输出语句在循环外,i的作用域只在循环内部,所以输出有问题。

  • Gwendol
    2018-03-10 19:33:52

    接楼上

    如果你是想输出运算过程中总共加了几个数,那就再加一个变量吧

    public class helloword {

        public static void main(String[] args) {

        int sum = 0; 

        int count=0;

        for (int i = 1;i <= 100; i++) {

        if (i % 3 != 0) {

            sum = sum + i;

            count++;

            }

            }

            System.out.println("1到100之间不能被3整除的数之和为:" + sum);

            System.out.println(count);

        }

    }


  • huangkai9527
    2018-03-10 18:59:12

    最后一行应该是想输出所有不能被3整除的数,应该是放到判断里循环输出吧。

    public class HelloWorld {

        public static void main(String[] args) {

    int sum = 0; // 保存不能被3整除的数之和

    // 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环

    for (int i = 1;i<=100     ; i++        ) {

    // 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除

    if (i % 3 != 0) { 

    sum = sum + i; // 累加求和

    System.out.println(i);

    }

    }

    System.out.println("1到100之间不能被3整除的数之和为:" + sum);



Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题