如何在方法内返回for语句的总和

时间:2018-10-04 00:10:50

标签: java

我正在尝试编写代码,对骰子掷出的骰子进行总计(不必担心dice [i]的输出,我只需要返回该和)。

public static int displayAndTotalDice(int[] dice) {
        int i;
        for (i = 0; i < dice.length; ++i) {
            System.out.println("Dice " + i + " rolls: " + dice[i]);
            int sum = 0 + dice[i];
        }
        return sum;
    }

我收到错误“求和不能解析为变量”。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

sum应该是作用域(并初始化)的,以便在循环之后可以访问它。

public static int displayAndTotalDice(int[] dice) {
    int i, sum = 0;
    for (i = 0; i < dice.length; ++i) {
        System.out.println("Dice " + i + " rolls: " + dice[i]);
        sum += dice[i];
    }
    return sum;
}

答案 1 :(得分:1)

sum循环中使用for变量的声明并返回其值之前,将其移至方法级作用域。

您将收到错误 “总和无法解析为变量。” ,因为您在sum循环中声明了for,因此仅在循环中可见。

public static int displayAndTotalDice(int[] dice) {
        int i;
        int sum = 0;
        for (i = 0; i < dice.length; ++i) {
            System.out.println("Dice " + i + " rolls: " + dice[i]);
            sum += dice[i];
        }
        return sum;
    }