标题:怎么不能实现字符串排序?
只看楼主
chenjiang001
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2006-3-21
 问题点数:0 回复次数:5 
怎么不能实现字符串排序?
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 
2006-09-01 23:00
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
得分:0 
因为在第一次比较后,内层循环还没有执行完,程序不是你想象的那样,内循环一次,外循环一次

曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-09-02 00:40
chenjiang001
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2006-3-21
得分:0 
第一次比较后,内层循环还没有执行完???
能不能给出正解

2006-09-03 21:58
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
得分:0 

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

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();
}
}


曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-09-04 00:21
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
得分:0 
在java里给出排序的方法还是尽量用这个sort

win32汇编
病毒 加密
目前兴趣所在
2006-09-04 07:22
苦中乐
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-9-4
得分:0 

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();
}

}


2006-09-05 16:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-87516-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.854486 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved