0

尝试设计一个读取整数并打印 2 和输入值之间的所有偶数整数之和的应用程序。有人可以帮我做最后一点吗?!

import java.util.Scanner;

public class IntegerValue {

    // main method
    public static void main(String[] args) {

        // Data fields
        int a;
        // end

        Scanner sc = new Scanner(System.in);

        System.out.println("Enter an integer greater than 1");
        a = sc.nextInt();
        if (a <= 1) {
            System.out.println("Input Value must not be less than 2");
        }
        while (a > 1) {
            int sum = 0;
            if (a % 2 == 0) {
                sum += a;
                a = a - 1;
            }
            System.out.println(sum);
        }

    }
}
4

2 回答 2

2

最重要的部分,初始化的和已经被指出;但似乎他们错过了印刷部分;在循环执行后打印 sum 会更好。所以你的程序的最后一部分应该是这样的:

int sum = 0;
while (a > 1) {
    if (a % 2 == 0) {
        sum += a;
        a = a - 1;
    }
}
System.out.println(sum);
于 2013-08-28T04:01:04.317 回答
1

您需要在循环外定义sum变量while,否则它将在每次循环迭代时重新初始化。如果您只想要最终总和,那么 sum 也应该在 while 循环之外打印。这是代码更新,您可以尝试:

 int sum = 0;
 while (a > 1) {
            if (a % 2 == 0) {
                sum += a;
                a = a - 1;
            }
        }
 System.out.println(sum);
于 2013-08-28T03:55:15.947 回答