我需要编写一个以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++;
}
}
}
提前感谢您的帮助!如果您有任何问题,请告诉我!!
答案 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);
}
}