import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double[] numbers = new double[5];

        // 从控制台读取5个实数
        System.out.println('请输入5个实数:');
        for (int i = 0; i < 5; i++) {
            numbers[i] = scanner.nextDouble();
        }

        // 使用Arrays.sort()方法对数组进行排序
        Arrays.sort(numbers);

        // 获取排序后数组的中间值(中位数)
        double middleNumber = numbers[2];

        // 使用printf()方法格式化输出中位数,保留两位小数
        System.out.printf('排序后的中间值(中位数)为:%.2f', middleNumber);
    }
}

代码解析:

  1. 导入必要类库:

    • java.util.Arrays:提供操作数组的工具类方法,例如排序。
    • java.util.Scanner:用于从控制台读取用户输入。
  2. 创建Scanner对象:

    • Scanner scanner = new Scanner(System.in); 创建一个Scanner对象,用于接收用户从控制台输入的数据。
  3. 创建数组:

    • double[] numbers = new double[5]; 创建一个长度为5的double类型数组,用于存储用户输入的5个实数。
  4. 读取用户输入:

    • 使用循环结构,提示用户输入5个实数,并将读取到的值存储到数组中。
  5. 排序数组:

    • Arrays.sort(numbers); 使用Arrays.sort()方法对数组进行升序排序。
  6. 获取中位数:

    • double middleNumber = numbers[2]; 获取排序后数组的中间元素,即索引为2的元素,作为中位数。
  7. 格式化输出:

    • System.out.printf('排序后的中间值(中位数)为:%.2f', middleNumber); 使用printf()方法格式化输出中位数,保留两位小数。

示例输入输出:

输入:

1 2 5 4 3

输出:

排序后的中间值(中位数)为:3.00
Java程序设计案例:查找数组中位数

原文地址: https://www.cveoy.top/t/topic/ccaF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录