我很想排序字符串數組中的數字元素。我正在用java做它。請幫我解決這個問題。僅從java中的字符串數組中排序數字元素?
這裏是我的問題
對於給定的字符集,只能選擇整數和降序排列出來,把他們的位置留給其他字符的位置不變。 改變位置應該只是不是其他字符的整數。
樣品輸入: -
d,1,4,C,9,6
109,87,911,B,645
77,19,#,95
8,99,14,2。 ,5,6,49
樣本輸出: -
情況#1:d,9,6,C 4,1
情況#2:911645109,b,87
情況#3:95, 77,#,...,19
案例#4:99,49,14,8,6,5,2
謝謝各位觀衆。請大家幫我解決這個問題Java
這是我的代碼,我已經嘗試到目前爲止。
import java.util.Arrays;
import java.util.Iterator;
import java.util.ArrayList;
class alphaNumeric {
public static void main(String a[]) {
String s1[] = new String[9];
ArrayList l_numList = new ArrayList();
ArrayList l_strList = new ArrayList();
s1[0] = "1000.1";
s1[1] = "100";
s1[2] = "xBC100";
s1[3] = "XBB100";
s1[4] = "TEST";
s1[5] = "AYZ2100";
s1[6] = "99";
s1[7] = "90";
s1[8] = "1000";
System.out.print("Before sorting, numbers are ");
for(int i = 0; i < s1.length; i++)
{
System.out.print(s1[i]+" ");
}
System.out.println();
for (int i = 0; i < s1.length; i++) {
if (isNumber(s1[i])) {
l_numList.add(s1[i]);
} else {
l_strList.add(s1[i]);
}
}
Object[] l_objArray = (Object[]) l_numList.toArray();
int l_intArray[] = new int[l_objArray.length];
for (int i = 0; i < l_objArray.length; i++) {
l_intArray[i] = Integer.parseInt((String) l_objArray[i]);
}
Arrays.sort(l_intArray);
for (int i = 0; i < l_intArray.length; i++) {
System.out.println("after Numsort: " + l_intArray[i]);
}
System.out.print("After sorting, numbers are ");
for(int i = 0; i < l_intArray.length; i++)
{
System.out.print(l_intArray[i]+" ");
}
Object[] l_strArray = (Object[]) l_strList.toArray();
Arrays.sort(l_strArray);
for (int i = 0; i < l_strArray.length; i++) {
System.out.println("after Strsort: " + l_strArray[i]);
}
}
static boolean isNumber(String s) {
String validChars = "";
boolean isNumber = true;
for (int i = 0; i < s.length() && isNumber; i++) {
char c = s.charAt(i);
if (validChars.indexOf(c) == -1) {
isNumber = false;
} else {
isNumber = true;
}
}
return isNumber;
}
}
請你嘗試之前,我們可以幫助你! – StackFlowed 2015-04-02 18:28:50
你必須向我們展示一些你到目前爲止嘗試過的代碼。 – WonderWorld 2015-04-02 18:29:20
對不起。我只是忘了分享我的代碼。等一下。我的錯。 :D – Poudel 2015-04-02 18:32:25