java - 方法中 for 循环的错误结果

标签 java

我想明白,为什么当我为方法指定数字以求和时它返回 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/

相关文章:

java - 按钮在不应该改变的情况下全部改变相同的颜色

Java递归算法,我无法理解逻辑

java - 如何在JAVA中一次传递一个类的两个单独实例来对该类中的一些数据进行排序

java - 英里 转换为 公里

java.lang.OutOfMemory错误: Java heap space

java - 将 mysqlconnector 作为类路径时找不到类

java - Spring OAuth2 安全性和 ResourceServer 配置

当窗口未聚焦时 Java 输入停止工作

java - Tomcat\bin 文件夹中的属性文件获取 java.util.MissingResourceException

java - 有没有办法从 .xsd 架构生成 java.awt.Image?