题目要求:
从控制台读入三个数值,然后显示他们的平均值。
示例代码:
public class L2_3ComputeAverage { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter three numbers: "); double number1 = sc.nextDouble(); double number2 = sc.nextDouble(); double number3 = sc.nextDouble(); sc.close(); double average = (number1 + number2 + number3) / 3; System.out.println("The average of " + number1 + " " + number2 + " " + number3 + " is " + average); } }
题目升级:
求 n 个数的平均数
分析:
需要从键盘读入一个整数,用来记录数字的个数;然后,动态地读入 n 个数值,并计算其均值。
示例代码:
/*仅给出main方法*/ public static void main(String[] args) { Scanner sc = new Scanner(System.in); //读入整数 System.out.println("请输入一个整数: "); int n = sc.nextInt(); //读入 n 个数值,并在读入的过程中计算和 double sum = 0; System.out.print("请输入 " + n + " 个数值:"); for(int i = 0; i < n; i++) { double number = sc.nextDouble(); sum += number; } sc.close(); //计算平均值 double average = sum / n; System.out.println("The average is " + average); }
如果想要输出哪些数值,需要用一个数组来记录输入
public static void main(String[] args) { Scanner sc = new Scanner(System.in); //读入整数 System.out.println("请输入一个整数: "); int n = sc.nextInt(); //读入 n 个数值,并在读入的过程中计算和 double sum = 0; //创建一个大小为 n 的数组 double[] arr = new double[n]; System.out.print("请输入 " + n + " 个数值:"); for(int i = 0; i < n; i++) { double number = sc.nextDouble(); arr[i] = number; sum += number; } sc.close(); //计算平均值 double average = sum / n; System.out.print("The average of "); //遍历数组,这里用来增强的for循环 for(double a: arr) { System.out.print(a); System.out.print(" "); } System.out.println("is " + average); }