题目要求:
从控制台读入三个数值,然后显示他们的平均值。
示例代码:
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);
}