我想明白,为什么当我为方法指定数字以求和时它返回 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
。
关于java - 方法中 for 循环的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730354/