一道面试题 上次面试,出了这么个题,给了一个字符串,例如:String test="caDbAf";问如何将test变为"ADabcf",我开始想用char型数组循环接收,然后排序,可后来面试官说不对,没有这么麻烦,有高人告诉下答案吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 code=Java]public static void main(String args[]){ List list=new ArrayList(); list.add("c"); list.add("a"); list.add("D"); list.add("b"); list.add("A"); list.add("f"); Collections.sort(list) for(int i=0;i<list.size();i++){ System.out.print(list.get(i)); }}[[/code] 第一反应也是char[]数组 然后利用ASCII码直接排序就能得到结果了 难道是用 Replace("caDbAf", "ADabcf") ╮(╯_╰)╭ 上楼所写的只是将字母放入LIST里面,再用Collections随机排序我觉得:String test="caDbAf" 将test变为"ADabcf",这个用到UNICODE字符码的比较 不是随机排序,默然的是升序。如果你需要降序的,只用实现一个Comparator接口就可以了。这是一道老题目了! Arrays.sort(str.toCharArray()); 我只想出来这种。 吼吼吼吼的,是不是考察应用api的啊 这样写可以不可以的啊String str = "caDbAf";Arrays.sort(str.toCharArray());这一句话就行了嘿嘿!! String s = "caDbAf";char[] chs = s.toCharArray();Arrays.sort(chs);System.out.println(new String(chs)); 测试看看 String str ="caDbAf"; char[] ch = str.toCharArray(); Arrays.sort(ch); for (int i = 0; i < ch.length; i++) { System.out.print(" "+ch[i]); } 得到每个char的ascii 再按asc码排序(就是比较int大小的事),排好序后在将int转换为char。 晕死人了主要是用Arrays.sort(str.toCharArray());正确输出来,自己去查啊下面是完整代码子String str = "caDbAf";char[] arr = str.toCharArray();Arrays.sort(arr);String test = Arrays.toString(arr);System.out.println(test);汗死我了!!多看看api啊 public static void main(String[] args) { String test = "cdaDbA"; char[] abc = test.toCharArray(); Arrays.sort(abc) ; StringBuffer strB = new StringBuffer(); for (char a: abc) { strB.append(a); } test = strB.toString(); System.out.print("****"+test); }楼主试试这个代码。 20楼的是正解啊~import java.util.Arrays;public class px{ public static void main(String []args) { String str = "caDbAf"; char[] arr = str.toCharArray(); Arrays.sort(arr); String test = Arrays.toString(arr); System.out.println(test); } }已经测试过了 import java.util.Arrays;public class px{public static void main(String []args){String str = "caDbAf";char[] arr = str.toCharArray();Arrays.sort(arr);System.out.println(arr);}}这才是正确的 一段验证你电脑有没有H片的javascript代码 流 的小问题 ssh级联查询报错 怎么将一段xml格式的string文本用dom解析插入到root元素中? 小弟请教各位高手一个关于Swing的问题? 使用keytool工具做SSL怎么添加2个网站域名 hibernate和数据库的一个超郁闷的问题 IT哥们,给我输血啊!!!!!!!!!!!!!! java的数字签名为何如此烂 InitialContext是怎么实现的. 问个spring的常识+java基础性问题。。。 [散分]我的程序员之路
List list=new ArrayList();
list.add("c");
list.add("a");
list.add("D");
list.add("b");
list.add("A");
list.add("f");
Collections.sort(list)
for(int i=0;i<list.size();i++){
System.out.print(list.get(i));
}
}[[/code]
我觉得:String test="caDbAf" 将test变为"ADabcf",这个用到UNICODE字符码的比较
我只想出来这种。
String str = "caDbAf";
Arrays.sort(str.toCharArray());这一句话就行了
嘿嘿!!
String s = "caDbAf";
char[] chs = s.toCharArray();
Arrays.sort(chs);
System.out.println(new String(chs));
测试看看 String str ="caDbAf";
char[] ch = str.toCharArray();
Arrays.sort(ch);
for (int i = 0; i < ch.length; i++) {
System.out.print(" "+ch[i]);
}
下面是完整代码子
String str = "caDbAf";
char[] arr = str.toCharArray();
Arrays.sort(arr);
String test = Arrays.toString(arr);
System.out.println(test);
汗死我了!!多看看api啊
char[] abc = test.toCharArray();
Arrays.sort(abc) ; StringBuffer strB = new StringBuffer();
for (char a: abc) {
strB.append(a);
}
test = strB.toString();
System.out.print("****"+test);
}楼主试试这个代码。
import java.util.Arrays;
public class px
{
public static void main(String []args)
{
String str = "caDbAf";
char[] arr = str.toCharArray();
Arrays.sort(arr);
String test = Arrays.toString(arr);
System.out.println(test);
}
}已经测试过了
public class px
{
public static void main(String []args)
{
String str = "caDbAf";
char[] arr = str.toCharArray();
Arrays.sort(arr);
System.out.println(arr);
}
}
这才是正确的