Arraylist中的冒泡排序

时间:2015-03-19 15:27:55

标签: java

我已经尝试过一个代码来按降序排序它对某些输入工作正常但是对于一些它没有。例如。我试过100,200,一个,400输出是400,200,一个,100。但如果我尝试d,1,4,c,9,6输出是d,6,9,c,4,1。我不应该碰到性格。我试过了。

String input = JOptionPane.showInputDialog("Enter a string:");
String[] abc = input.split(",");
ArrayList<String> num = new ArrayList<String>();
for (int i = 0; i < abc.length; i++) {
    num.add(abc[i]);
}

for ( int z = 0; z < num.size() -1 ; z ++ ) {
    int numI;
    try {
        numI = Integer.parseInt(num.get(z));
    }
    catch (NumberFormatException nfe) {
        continue;
    }

    for (int j = z + 1; j < num.size(); j ++ ) {
        int numJ;
        try {
            numJ = Integer.parseInt(num.get(j));
        } 
        catch (NumberFormatException nfe)
        {
            continue;
        }
        if (numI < numJ)
        {
            String temp = num.get(z);   //swapping
            num.set(z, num.get(j));
            num.set(j, temp);
        }
    }
}
for(String el:num){
    System.out.print(el+",");
}

这里有什么问题?

0 个答案:

没有答案