输入若干考试分数,以输入-1结束;
输出均分,以及大于均分的成绩。
望采纳
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
while (true) {
int input;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数,以输入-1结束");
input = scanner.nextInt();
if (input == -1) {
break;
}
list.add(input);
}
int size = list.size();
int sum = 0;
for (int i = 0; i < size; i++) {
sum += list.get(i);
}
BigDecimal avg = divide(sum, size);
System.out.println("平均分数是:" + avg);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < size; i++) {
Integer integer = list.get(i);
if (integer > avg.doubleValue()) {
stringBuilder.append(integer);
if (i < size - 1) {
stringBuilder.append(",");
}
}
}
if (stringBuilder.length() > 0) {
System.out.println("大于平均分数的有:" + stringBuilder.toString());
}
}
/**
* @param divisor 除数
* @param dividend 被除数
* @return
*/
public static BigDecimal divide(int divisor, int dividend) {
BigDecimal a = new BigDecimal(divisor);
BigDecimal b = new BigDecimal(dividend);
return a.divide(b, 4, BigDecimal.ROUND_HALF_UP);
}
}
把if语句放进while循环
1)number需要存储,即需要在while循环中存储每一个number;
2)求得均分后再遍历一次输出大于均分的nuber;
3)你的代码只能输出最后一次成绩是否大于均分。