当前位置: 代码迷 >> Java相关 >> 怎么不能实现字符串排序?
  详细解决方案

怎么不能实现字符串排序?

热度:119   发布时间:2006-09-01 23:00:54.0
怎么不能实现字符串排序?
public class chsort
{
public static void main(String [] args)
{
String str="kbcafeg";
StringBuffer s1=new StringBuffer(str);
s1.reverse();
System.out.println(s1);
char s;
int i,j,n;
n=s1.length();
char ch[]=new char[n];
for(i=0;i<s1.length()-1;i++)
{
ch[i]=s1.charAt(i);
for(j=i+1;j<s1.length();j++)
{
ch[j]=s1.charAt(j);
if(ch[i]>ch[j])
{
s=ch[i];
ch[i]=ch[j];
ch[j]=s;
}

}
System.out.println(ch);
}
System.out.println(ch);
}
}
怎么不能排序呀???????
搜索更多相关的解决方案: 字符  public  void  String  main  

----------------解决方案--------------------------------------------------------
因为在第一次比较后,内层循环还没有执行完,程序不是你想象的那样,内循环一次,外循环一次
----------------解决方案--------------------------------------------------------
第一次比较后,内层循环还没有执行完???
能不能给出正解
----------------解决方案--------------------------------------------------------

谈不上正解,我是这样写的

import java.io.*;
import java.util.*;

public class Test {
public String Sort(String input) {
char[] ch = input.toCharArray();
Arrays.sort(ch);
return new String(ch);
}

public static void main(String[] args) throws IOException {
System.out.println("请输入需要排序的字符串");
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
System.out.println("排序后为:" + new Test().Sort(read.readLine()));
read.close();
}
}


----------------解决方案--------------------------------------------------------
在java里给出排序的方法还是尽量用这个sort

----------------解决方案--------------------------------------------------------

package 库中乐;


import java.util.*;

public class StringTest{

/**
* 用StringTokenizer()方法来取字符串的数字,然后进行排序
*/
String s="21,123,432,2,3,34,234";

public void getResult(){
StringTokenizer st=new StringTokenizer(s,",");
int len=st.countTokens();
String a[]=new String[len];
int k=0;
int aa[]=new int[a.length];
while(st.hasMoreTokens()){
a[k]=st.nextToken();
k++;

}

for(int i=0;i<a.length;i++){
aa[i]= Integer.parseInt(a[i]);
}
Arrays.sort(aa);
for(int i=0;i<aa.length;i++){
System.out.println(aa[i]);
}
}

public static void main(String[] args) {

new StringTest().getResult();
}

}


----------------解决方案--------------------------------------------------------