Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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 while循环_Java_Loops_Methods_While Loop - Fatal编程技术网

方法内部的JAVA while循环

方法内部的JAVA while循环,java,loops,methods,while-loop,Java,Loops,Methods,While Loop,对Java来说是全新的。。我需要创建一个方法Sum,以包含while循环。该方法将采用一个参数,并计算该数值的总和。这就是我所拥有的: public class Summing { public static void main(String [] args){ double result=5; Summing mySum=new Summing(); double Sum = mySum.Sum(result); System.out.printf("

对Java来说是全新的。。我需要创建一个方法
Sum
,以包含
while
循环。该方法将采用一个参数,并计算该数值的总和。这就是我所拥有的:

public class Summing {

public static void main(String [] args){

    double result=5;

    Summing mySum=new Summing();

    double Sum = mySum.Sum(result);

    System.out.printf("\nthe sum is :%d " , Sum);

}

public static double Sum(double result) {
    result = 5;

    double i = 1;

    while (i <= result)

    {
        result += i;

        System.out.println("count:" + result);

        i = i++;

    }
    return result;
}
}
公共类求和{
公共静态void main(字符串[]args){
双结果=5;
求和mySum=新求和();
双和=mySum.Sum(结果);
System.out.printf(“\n总和为:%d”,总和);
}
公共静态双和(双结果){
结果=5;
双i=1;
而(i这里:

result += i;
i++

使循环无限大,因为它们同时递增,这使得不可能不满足此条件

 while (i <= result)

while(i为参数指定另一个名称(“limit”),并将结果声明为double。
哦,你增加i的方式是不正确的

  public static double Sum(double limit) { 
    double result=5;
    double i=1;
    while(i<=limit) {
      result+=i;
      System.out.println("count:" + result);
      i++;
    } 
    return result;
  }
公共静态双和(双限){
双结果=5;
双i=1;

而(i您已经编写了i=i++,它不会增加i的值。这相当于创建如下变量:

i=i++ ; 
相当于

tmp=i ;
i=i+1 ;
i=tmp ;

您应该只编写i++或i=i+1。

我已经删除了将代码放入无限循环的条件

 public class Summing {

        public static void main(String [] args){

            double result=5;

            Summing mySum=new Summing();

            double Sum = mySum.Sum(result);

           // System.out.printf("\nthe sum is "+Sum);

        }//end main

        public  double Sum(double result) {

            double sum=0;
            double i=1;

            while (i <= result) {
                sum += i;
                i++;
                System.out.printf("\nthe sum is "+sum);
            } return result;

        }//end sum

    }//end Summing
你们所做的是,在条件while(i)中,你们增加了i,每次迭代的结果都导致了无限循环

 public class Summing {

        public static void main(String [] args){

            double result=5;

            Summing mySum=new Summing();

            double Sum = mySum.Sum(result);

           // System.out.printf("\nthe sum is "+Sum);

        }//end main

        public  double Sum(double result) {

            double sum=0;
            double i=1;

            while (i <= result) {
                sum += i;
                i++;
                System.out.printf("\nthe sum is "+sum);
            } return result;

        }//end sum

    }//end Summing
公共类求和{
公共静态void main(字符串[]args){
双结果=5;
求和mySum=新求和();
双和=mySum.Sum(结果);
//System.out.printf(“\n总和为”+总和);
}//端干管
公共双和(双结果){
双和=0;
双i=1;
而(i1)Sum方法声明为static,因此不需要创建分离的Summing对象。
2) 在Sum方法中,您重写了放入main中的result参数。
3) 在循环中,你和我一样增加结果,所以我总是小于结果。
因此,您应该有如下内容:

public class Summing {

public static void main(String [] args){

    double result=5;
    double sum = Summing.Sum(result);
    System.out.printf("\nthe sum is :%d " , Sum);
}

public static double Sum(double iterations) {
    double i = 1;
    double result = 0;
    while (i < = iterations){
        result += i;
        System.out.println("count:" + result);
        i++;
    }
    return result;
}
}
公共类求和{
公共静态void main(字符串[]args){
双结果=5;
双和=求和。求和(结果);
System.out.printf(“\n总和为:%d”,总和);
}
公共静态双和(双迭代){
双i=1;
双结果=0;
而(i<=迭代次数){
结果+=i;
System.out.println(“计数:+结果);
i++;
}
返回结果;
}
}

嘿,阿里,你能不能这么客气,把格式(缩进)调整好你的代码?干杯。不要写
i=i++;
,只写
i++;
。当你增加循环中的
result
变量时,这是一个无限循环,使得
i
永远不可能达到
result
。使用另一个变量跟踪求和。你也不需要求和的实例来调用st现在可以了吗对不起,我忘了把解释放在那边,你已经把它修好了,所以现在没问题。请记住对你的所有答案都这样做。OP和未来的读者会从中受益的。