我想了解一下,为什么当我为方法求和时指定数字以返回21,但是当我通过扫描仪输入值时,它给出了正确的值。例如,数字3应该是1 + 2 + 3 = 6,但是它给了我21,任何想法,谢谢。

public class sumInt
{

    public static void main(String[] args)
    {
        int i  = sumInt(3);
        int j  = sumInt(10);

        Scanner in = new Scanner (System.in);
        System.out.println("Please enter posiutive integer: ");
        int k = in.nextInt();

        System.out.println(sumInt(i));
        System.out.println(sumInt(j));
        System.out.println(sumInt(k));
    }

    public static int sumInt(int n)
    {
        int sum = 0;
        for (int i = 0; i <= n; i++)
        {
            sum += i;

        }
        return sum;
    }
}

最佳答案

您实际上将i总计为6,您当前的代码也可以写成:

System.out.println(sumInt(sumInt(3)));


您需要直接打印出i,而不是再次调用sumInt

08-18 10:33
查看更多