如何在下面的代码中添加2个For-Each循环?

时间:2016-03-08 22:25:12

标签: java arrays foreach

我需要编写一个以10个浮点数作为输入的程序。

程序应显示数字的平均值,后跟所有大于平均值的数字。

我的部分要求包括编写一个方法,该方法将一个双精度数组作为参数并返回数组中数据的平均值,并且我需要在此程序中使用至少2个for-each循环,并且不知道放在哪里。该程序现在完美运行,每个循环添加只需要两个。

这是我到目前为止所拥有的。

public class Floats {

    public Floats() {

    }

    public static void main(String[] args) {
        int count = 0, ct = 0, inc = 0, avc = 0, ac = 0, incre = 0, greaterCount = 0;
        double sum = 0, average = 0, number = 0;
        Scanner reader = new Scanner(System.in);
        double[] array = new double[10];
        double[] averageArray = new double[1];
        double[] greaterArray = new double[10];

        //inputs and appends to an array
        while (count < array.length) {
            System.out.print("Enter a number: ");
            number = reader.nextInt();
            array[count] = number;
            sum = sum + number;
            count++;
        }
        average = sum / count;
        //counts
        while (inc < array.length) {
            if (array[inc] > average) {
                greaterArray[inc] = array[inc];
                incre++;
            }
            inc++;
        }
        //prints all numbers
        System.out.println("All of the numbers entered: ");
        while (avc < array.length) {
            System.out.print(array[avc] + "," + " ");
            avc++;
        }
        //average displayed
        averageArray[0] = average;
        System.out.println("");
        System.out.println("The average of all numbers entered: ");
        System.out.println(averageArray[0]);

        //larger than average
        System.out.println("Numbers greater than the average: ");
        while (ac < inc) {
            if (greaterArray[ac] != 0) {
                System.out.println(greaterArray[ac]);
            }
            ac++;
        }
    }
}

提前感谢您的帮助!如果您有任何问题,请告诉我!!

2 个答案:

答案 0 :(得分:0)

我不想为你做功课,但我会尝试提供有用的推荐。 Arrays.asList(array)方法返回一个列表,该列表可以很容易地用作for-each循环的源。

因为有人指出for-each循环可用于数组和实现Iterable的集合,所以上面的答案是不必要的。考虑到这一点,我将提供一些示例代码:

String[] array = new String[] {"Test", "String", "Array"};
for (String string : array) {

}

答案 1 :(得分:0)

打印double[] array中的所有数字。

for (double d : array) {
    System.out.print(d + ", ");
}

打印array大于average

的所有数字
for (double d : array) {
    if (d > average) {
        System.out.println(d);
    }
}