在java中减去数组元素

时间:2017-11-03 02:13:06

标签: java arrays for-loop

请参阅下面的代码:

package calc;
import java.util.Arrays;
import java.util.Scanner;

public class calc {
    public static void main(String[] args) {
        double[]numbers= {6 , 5 ,7};
        Arrays.sort(numbers);
        double diff = numbers[3-1];
        for (int i =2 ; i<= 0; i--) {
            System.out.println(numbers[i]);
            diff-=numbers[i-1];
        }
        System.out.println("Answer --> "+diff);
    }
}

我的问题是我试图减去数组中的元素。我假设用户已经随机插入了值,所以我已经对数组进行了排序,并且我已经“反向”迭代了数组(从最高索引到较低索引),这样我就可以减去这个 - &gt; 7-6-5 = -4。不幸的是,for循环没有被执行,有人能告诉我这里有什么问题吗?感谢

2 个答案:

答案 0 :(得分:3)

由于循环语句中的条件,未执行for循环。

现在,你有int i=2; i <= 0; i--。当Java执行此循环时,它会发现i=2不是<= 0,因此循环永远不会执行。

要使循环执行,请将i <= 0更改为i >= 0

答案 1 :(得分:1)

检查你的循环。

    double[]numbers= {6 , 5 ,7};
    Arrays.sort(numbers);
    // start with last number
    double diff = numbers[numbers.length-1];
    for (int i=numbers.length-2 ; i>= 0; i--) {
      // substract other number one by one  
      diff-=numbers[i];
    }
    System.out.println("Answer --> "+diff);