我只是想寫一個代碼字符串內設置按字母順序排列的話.. 但每當我運行這一點,」進入一個無限循環。我無法弄清楚什麼正好發生......任何人都可以幫我解決問題..下面我附上我的代碼。排號的話按字母順序
public class AscendString {
String s=new String();
public AscendString(String x)
{
s=x.trim();
}
public int NoWords()
{
int i=0;
String s1=new String();
s1=s;
while(s1.length() > 0)
{ i++;
int j=s1.indexOf(' ');
if(j>0)
{
s1.substring(j+1);
s1=s1.trim();
}
else
s1="";
}
return i;
}
public void Ascend()
{
String str[]=new String[NoWords()];
String s1=new String();
s1=s;
int i=0;
while(s1.length() > 0)
{
int j=s1.indexOf(' ');
if(j>0)
{
str[i]=s1.substring(0,j) ;
s1=s1.substring(j+1);
s1=s1.trim();
i++;
}
else
{
str[i]=s1;
s1="";
}
}
for(int j=0;j < str.length-1;j++)
{
for(int k=0;k < str.length-1-j;k++)
if(str[k].length() > str[k+1].length())
{String temp=str[k];
str[k]=str[k+1];
str[k+1]=temp;
}
}
String str1="";
for(int n=0;n < str.length;n++)
str1=str1+str[n] +" " ;
System.out.println("The String in Alphabetic Order is: "+str1);
}
public static void main(String args[])
{
AscendString exmpl=new AscendString("I Love Java Programming");
exmpl.Ascend();
}
}
每當你不明白你的程序在做什麼,你應該嘗試的第一件事就是通過在調試器中單步執行代碼。 – 2013-03-24 10:27:02