好的,所以我的代码应打印出输入的单词总数,最长和最短的单词。我似乎无法弄清楚如何打印最短的单词,总的和最长的工作。
public void stringInput()
{
Scanner keyboard = new Scanner(System.in);
int wordcount =0;
String word ="";
String longest = "";
String shortest = "";
while(! word.equals("DONE"))
{
System.out.print("Please enter a word or DONE to exit: ");
word = keyboard.next();
if(!word.equals("DONE"))
{
wordcount ++;
if (word.length() < shortest.length())
{
shortest = word;
}
if (word.length() > longest.length())
{
longest = word;
}
}
}
System.out.println("Thank you for entering "+wordcount+" words.");
System.out.println("Longest word :"+ longest);
System.out.println("Shortest word :"+ shortest);
}
答案 0 :(得分:3)
没有任何字短于""
,因此shortest
永远不会改变。一种解决方法是将shortest
设置为第一个单词而不是""
。另一种方法是更改if
,以便在单词较短或shortest
的长度仍为零时设置shortest
。
另一种可能性:
if ((wordcount == 1) || (word.length() < shortest.length()))
{
shortest = word;
}
答案 1 :(得分:0)
任何单词都不会短于空字符串。您应该将最短值设置为?- transpose([[a,b,c],[d,e,f]], Ts).
Ts = [[a, d], [b, e], [c, f]].
并检查它是否是第一个输入的字符串,如果是,则设置最短的字符串,然后将所有其他字符串与第一个字符串进行比较。
像这样:
null