编写实现字符串数组原地排序的功能
编写实现字符串数组原地排序的功能。建议:字符串数组可以自己直接定义并初始化;字符串可以通过上面的第8题得到,相当于练习使用与测试上面的类;查找功能可以定义成通用函数,放到自己的函数库中。
public class zy02 {
public String s_str;
public String[] d_str;
public String f_str=" ,;''";
public int k;
public zy02(String s){
s_str=new String(s);
}
public void setInfo(String s)
{
int i, j;
i=0; k=0;
while(i<s_str.length())
{
if (f_str.indexOf(s_str.charAt(i))>=0) {++i; continue;}
j=i;
while (i<s_str.length() && f_str.indexOf(s_str.charAt(i))==-1) ++i;
++k; //s_str.subString(j,i);
}
d_str=new String[k];
i=0; k=0;
while(i<s_str.length())
{
if (f_str.indexOf(s_str.charAt(i))>=0) {++i; continue;}
j=i;
while (i<s_str.length() && f_str.indexOf(s_str.charAt(i))==-1) ++i;
d_str[k]=s_str.substring(j,i);
++k;
}
}
public String paixu()
{
setInfo(s_str);
String[] b_str;
b_str=new String[k];
String ss=" ";
int i,j,m,n,p,q;
char x,y,t;
for(i=0;i<k;i++)
{
ss=d_str[i];
j=d_str[i].length();
for(m=0;m<j-1;m++)
{
for (n=m+1;n<j;n++)
{
x=ss.charAt(m);
y=ss.charAt(n);
if (x<y) {t=x;x=y;y=t;}
}
}
b_str[i]=ss;
}
return b_str[i];
}
public static void main(String[] args) {
zy02 s=new zy02("i an a good student congratulation!");
System.out.println(s.paixu());
}
}
麻烦大家帮忙找下错,我真的找不到了!!谢啦