我应该接受名称的输入并使用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