我應該接受名稱的輸入並使用compareTo函數按順序輸出它。但是當我輸入很多字符串時它會跳過單詞。有人知道爲什麼我的輸出跳過了我輸入的幾個短語
ArrayList<String> names = new ArrayList<String>();
System.out.println("Enter the names and designate the end with a -1:");
Scanner in = new Scanner(System.in);
String person = in.next();
if (names.isEmpty())
{
names.add(person);
person = in.next();
}
while (!person.equals("-1"))
{
for (int i = 0; i < names.size(); i++)
{
String nameInList = names.get(i);
if (nameInList.compareToIgnoreCase(person) > 0)
{
names.add(i, person);
break;
}
}
person = in.next();
}
System.out.println(names);
}
}
'如果(nameInList.compareToIgnoreCase(人)> 0)'......當不是時會發生什麼? – MadProgrammer
如果不是它不更新已經檢查列表中的下一個單詞的索引? – Chuck
如果'nameInList' <<'person'會發生什麼?什麼時候「人」被添加到列表中? – MadProgrammer