You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助将Java数组升序排序程序拆分为多个方法

拆分后的代码实现

下面是拆分后的代码,将输入获取和排序逻辑拆分为独立方法,同时优化了原代码中不必要的double类型循环变量问题:

import java.util.Scanner;
import java.util.InputMismatchException;

class ArrayProgram {
    // 获取用户输入的10个数字,返回数组
    private static double[] getInputArray() {
        final int SIZE = 10;
        double[] num = new double[SIZE];
        Scanner scan = new Scanner(System.in);

        System.out.println("Enter array elements:");
        for (int i = 0; i < SIZE; i++) {
            num[i] = scan.nextDouble();
        }
        scan.close();
        return num;
    }

    // 对传入的数组进行升序排序(冒泡排序)
    private static void sortAscending(double[] arr) {
        int size = arr.length;
        double temp;
        for (int i = 0; i < size; i++) {
            for (int j = i + 1; j < size; j++) {
                if (arr[i] > arr[j]) {
                    temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }

    public static void main(String[] args) {
        try {
            double[] numArray = getInputArray();
            sortAscending(numArray);
            
            System.out.print("Array Elements in Ascending Order: ");
            for (int i = 0; i < numArray.length - 1; i++) {
                System.out.print(numArray[i] + ", ");
            }
            System.out.print(numArray[numArray.length - 1]);
        } catch (InputMismatchException e) {
            System.out.println("Error! Please enter valid numbers.");
        } catch (Exception e) {
            System.out.println("Error!");
        }
    }
}

关键改动说明

  • 拆分出getInputArray()方法:专门负责处理用户输入,创建并填充数组,职责单一,便于维护。
  • 拆分出sortAscending()方法:把原代码中的冒泡排序逻辑独立出来,接收数组参数并完成排序,该方法可以复用在其他需要排序的场景。
  • 优化了变量类型:将原代码中用于循环和数组长度的double类型改为int,避免频繁的强制类型转换,代码更简洁安全。
  • 细化异常捕获:新增InputMismatchException捕获,能更精准地提示用户输入非法数字的错误,提升用户体验。

内容的提问来源于stack exchange,提问作者Qurthala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 03:36:21