Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用循环编写从1到n相加的函数_Java_Loops - Fatal编程技术网

Java 如何使用循环编写从1到n相加的函数

Java 如何使用循环编写从1到n相加的函数,java,loops,Java,Loops,我必须想出一个代码,如果int输入n小于2,则返回0;如果n大于1,则返回整数1到n的和。 例:如果n为4,则返回值为1+2+3+4 以下是我到目前为止的代码,出于某种原因,它总是返回比我运行它时应该返回的更多的代码: public static int sumton(int n){ if (n<2){ return 0; } int result=0; int i=1; whi

我必须想出一个代码,如果int输入n小于2,则返回0;如果n大于1,则返回整数1到n的和。 例:如果n为4,则返回值为1+2+3+4

以下是我到目前为止的代码,出于某种原因,它总是返回比我运行它时应该返回的更多的代码:

    public static int sumton(int n){
        if (n<2){
            return 0;
        }
        int result=0;
        int i=1;
        while (i<=n){
            i=i+1;
            result=result+i;
            System.out.println(i);
        }
        return result;
}
publicstaticintsumton(intn){

如果(n在While循环中,则应如下所示:

  while (i<=n){
        result=result+i;
         i=i+1; //i++
        System.out.println(i);
    }

while(i使用for循环代替while循环

 public static int sumton(int n){
    if (n<2){
        return 0;
    }
    int result=0;
    
    for(int i=1; i<=n; i++)
    {
      result = result+i;
      System.out.println(i);
    }
    return result;
}
publicstaticintsumton(intn){

如果(将
i=1+1
移动到
result=result+i
之后。对于
i+=1
result+=i
使用“+=”可能更清楚,确切地说,对于什么输入返回什么?调试输出告诉您什么?顺便说一句,从1到n的和等于0到n。为什么需要检查小于2的值?输入值为1ld真的返回1同样,您可以在固定时间内不使用任何循环来执行此操作