如何使用for循环在范围中添加偶数

时间:2017-10-21 11:43:42

标签: java for-loop sum range

我必须创建一个程序,从用户获取范围,然后添加范围内的每个偶数并打印到屏幕。我正在努力弄清楚如何在for循环中添加每个数字。如果范围是5到10,则屏幕应打印24作为答案。以下是我的代码。

//worksheet 4 - question 3
//asks user for a range. Adds even numbers in range and prints their sum.

import java.util.Scanner;

class P3LoopRange
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        int initial, finalValue;

        System.out.print("Enter a start value: ");
        initial = input.nextInt();

        System.out.print("Enter a second value: ");
        finalValue = input.nextInt();

        while (finalValue <= initial)
        {
            System.out.println("Second value must be larger than start value.");
            System.out.print("Enter a second value: ");
            finalValue = input.nextInt();
        }

        int range = finalValue - initial;

        int x = 0

        for (int i = initial; i <= finalValue; i++)
        {
            if (i%2==0)
            {
                int x = x+i;

            }
        }
        System.out.printf(x);
    }
}

3 个答案:

答案 0 :(得分:1)

您声明x局部变量的两倍 你不能因为有一个重复的局部变量是不合法的 此外,在循环内声明它会使它在每次迭代时被覆盖 所以,只需在循环之前声明它就可以了。

int x = 0;

for (int i = initial; i <= finalValue; i++)
{
    if (i%2 == 0)
    {
        x = x + i;

    }
}

答案 1 :(得分:1)

int x = x+i;更改为x=x+i;。您每次都要重新初始化x

答案 2 :(得分:1)

问题出在:int x = x+i;

只需删除int即可解决您的问题