使用sort方法和JOptionPane使用户输入10个数字,输出为10个数字排序

时间:2014-11-22 20:34:01

标签: java sorting

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

导入javax.swing.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 个答案:

答案 0 :(得分:0)

主要方法中存在大量错误。你应该做些什么来修复:

  • JOptionPane返回String,因此您应该输入您的数字 它可以转换为数字,带有某种分隔符
  • 拆分并转换为数字
  • 汇编和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);
}