有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用sort方法和JOptionPane让用户输入10个数字,并将10个数字排序后输出

这就是我到目前为止所做的:

导入javax。摆动JOptionPane; 公共类Aukeemhw3{

/**
 * 
 * @param numberSort the purpose is to sort 10 input numbers
 */

public static void numInputSort(int[] numberSort){

    for(int i = 0; i < (numberSort.length - 1); i++){

        int min = i;

                for(int j = i; j < (numberSort.length); j++){
                        if(numberSort[j] < numberSort[min])
                            min = j;
                }
                int temp = numberSort[min];
                numberSort[min] = numberSort[i];
                numberSort[i] = temp;
    }
}
/*
* @param args the command line arguments
*/
public static void main(String[] args) {
    // Request for user to enter 10 numbers

    String[] numbers;
    numbers = new String[10];

    JOptionPane.showInputDialog("Enter " + numbers + "Values: ");

    numImportSort(int[] numbers);


}

}

在最后一行调用我的方法时,我尝试的每件事都会出错。我不知道如何正确地编写我的主参数,让用户输入10个数字,然后调用我的排序方法numInputSort对输入的10个数字进行排序


共 (1) 个答案

  1. # 1 楼答案

    主方法中存在大量错误。您应该如何修复:

    • JOptionPane返回字符串,因此您应该输入数字,以便 它可以用某种分隔符转换成数字
    • 拆分并转换为数字
    • 汇编和int数组并调用该方法

    差不多

    public static void main(String[] args) {
        // Request for user to enter 10 numbers
    
        int[] numbers = new int[10];
    
        String sNumbers =  JOptionPane.showInputDialog("Enter number values, split with comma: ");
    
        String[] singleNumbers = sNumbers.split(",");
        for (int i = 0; i < singleNumbers.length; i++) {
            numbers[i] = Integer.parseInt(singleNumbers[i].trim());
        }
        numInputSort(numbers);
        JOptionPane.showMessageDialog(null, Arrays.toString(numbers), "sorted",  JOptionPane.INFORMATION_MESSAGE);
    }