我想了解一下,为什么当我为方法求和时指定数字以返回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
。