需求
- 计算用户输入的数字的平均数,并输出所有大于平均数的数
- 输入-1表示结束
代码实现
package com.example.demo; import java.util.Scanner; public class Demo { public static void main(String[] args) { // 计算用户输入的数字的平均数,并输出所有大于平均数的数 // 输入-1表示结束 // 接收用户输入,下标越界报错 int[] arr = new int[100]; int count = 0; Scanner scanner = new Scanner(System.in); while (true) { int input = scanner.nextInt(); if (input == -1) { break; } arr[count] = input; count++; } if (count > 0) { // 求和 int sum = 0; for (int val : arr) { sum += val; } // 平均数 double avg = sum / count; System.out.println("sum: " + sum); System.out.println("count: " + count); System.out.println("avg: " + avg); // 输出所有大于平均数的数 System.out.print("> avg: "); for (int i = 0; i < count; i++) { if (arr[i] > avg) { System.out.printf("%s ", arr[i]); } } } } }
输出
1 2 3 4 5 -1 sum: 15 count: 5 avg: 3.0 > avg: 4 5
参考