一个String转换的问题 现在有一个字符串 String str="9,10,5,12,0,12,3,8";要求对字符串中的数组排序并输出,我做出来了,是先转换成int数组,再冒泡排序,感觉很复杂,有没有简单点的方法,求教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简洁点么用Arrays.sort直接把你的Int数组排序下就好了 yes 先将String[]转换成 int[]然后利用Arrays.sort(),够方便了吧 public static void main(String[] args) { String str="9,10,5,12,0,12,3,8"; String[] temp = str.split(","); int[] arr = new int[temp.length]; for (int i = 0; i < arr.length; i++) { arr[i] = Integer.valueOf(temp[i]); } Arrays.sort(arr); System.out.println(Arrays.toString(arr));//输出结果:[0, 3, 5, 8, 9, 10, 12, 12] } public static void main(String[] args) { String str = "9,10,5,12,0,12,3,8"; String[] temp = str.split(","); int[] arr = new int[temp.length]; for (int i = 0; i < arr.length; i++) { arr[i] = Integer.valueOf(temp[i]); } Arrays.sort(arr); System.out.println(Arrays.toString(arr)); } package csdn;import java.util.Arrays;import java.util.Comparator;public class Test {// 现在有一个字符串 String str="9,10,5,12,0,12,3,8";要求对字符串中的数组排序并输出,// 我做出来了,是先转换成int数组,再冒泡排序,感觉很复杂,有没有简单点的方法,求教。 //除了作者上述方法外,实现一个比较器代入即可. public static class Compare implements Comparator<String> { public int compare(String arg0, String arg1) { if(arg0==null||arg1==null) { System.out.println("字符串为空"); return -1; } int length1=arg0.length(); int length2=arg1.length(); if(length1<length2) { return -1; } else if(length1>length2) { return 1; } else{ int i; for(i=0;i<length1;i++) { if(arg0.charAt(i)>arg1.charAt(i)) { return 1; } else if(arg0.charAt(i)<arg1.charAt(i)) { return -1; } else continue; } return 0; } } } public static void main(String[] args) { String str="9,10,5,12,0,12,3,8"; String[] s=str.split(","); Arrays.sort(s,new Compare()); for(String k:s) { System.out.print(k+" "); } }} (急)java环境变量的问题 关于生产者消费者的一点问题,求高手解释 关于内部类访问对象的一个问题 java 菜鸟问题 变量值的问题 制作一个网页生成器,实现if...else标记,实现循环标记 为我的前程迷茫~java 还是.net 初学Java,请教中。。。 怎样让textarea内被选中的字符变蓝? 在问个菜鸟问题 何谓vector类型?如何操作?很简单吧,来领分,谁让我笨呢 我的jtable无法更新,应该是简单的问题,麻烦替我看下 java JLabel问题
然后利用Arrays.sort(),够方便了吧
String str="9,10,5,12,0,12,3,8";
String[] temp = str.split(",");
int[] arr = new int[temp.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.valueOf(temp[i]);
}
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));//输出结果:[0, 3, 5, 8, 9, 10, 12, 12]
}
String str = "9,10,5,12,0,12,3,8";
String[] temp = str.split(",");
int[] arr = new int[temp.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.valueOf(temp[i]);
}
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
import java.util.Comparator;public class Test {
// 现在有一个字符串 String str="9,10,5,12,0,12,3,8";要求对字符串中的数组排序并输出,
// 我做出来了,是先转换成int数组,再冒泡排序,感觉很复杂,有没有简单点的方法,求教。 //除了作者上述方法外,实现一个比较器代入即可.
public static class Compare implements Comparator<String> {
public int compare(String arg0, String arg1) {
if(arg0==null||arg1==null)
{
System.out.println("字符串为空");
return -1;
}
int length1=arg0.length();
int length2=arg1.length();
if(length1<length2)
{
return -1;
}
else if(length1>length2)
{
return 1;
}
else{
int i;
for(i=0;i<length1;i++)
{
if(arg0.charAt(i)>arg1.charAt(i))
{
return 1;
}
else if(arg0.charAt(i)<arg1.charAt(i))
{
return -1;
}
else continue;
}
return 0;
}
} } public static void main(String[] args) {
String str="9,10,5,12,0,12,3,8";
String[] s=str.split(",");
Arrays.sort(s,new Compare());
for(String k:s)
{
System.out.print(k+" ");
} }}