importjava.io.*;publicclassassigment4{publicstaticvoidmain(String[]args){String[]array=newString[50];//build50arrayStringuser_input="";//buildaStringtosaveinputthingStrin...
import java.io.*;
public class assigment4
{
public static void main (String[] args)
{
String[] array = new String [50]; //build 50 array
String user_input = ""; //build a String to save input thing
String stream = "";
System.out.println ("Enter a sentence:"); //show the words before user typing.
try
{
BufferedReader pig = new BufferedReader (new InputStreamReader (System.in));
user_input = pig.readLine ();
}
catch (IOException ioe)
{
} //save words into user_input
for (int word_times = 0 ; word_times < 50 ; word_times++)
{
if (user_input.indexOf (" ") != -1)
{
array [word_times] = user_input.substring (0, user_input.indexOf (" "));
user_input = user_input.substring (user_input.indexOf (" ") + 1, user_input.length ());
if (user_input.equals (stream))
break;
}
else
{
array [word_times] = user_input.substring (0, user_input.length ());
if (user_input.equals (stream))
break;
}
} //to save single word to every array
for (int j = 0 ; j < user_input.length () ; j++)
{
for (int pos = 0 ; pos < user_input.length () - 1 ; pos++)
{
if (array [pos].length () < array [pos + 1].length ())
{
String temp = array [pos];
array [pos] = array [pos + 1];
array [pos + 1] = temp;
}
else
{
}
}
} // arrange the word from the longest to the shortest.
for (int i = 0 ; i < user_input.length () ; i++)
{
System.out.print (array [i] + "\n");
}
System.out.println (); //pring out all of them.
}
}
为什会重复输出呢??
Enter a sentence:
i ckj elkg
elkg
elkg
ckj
i
就像这样??
请高人指点...
展开