【发布时间】:2015-09-07 04:33:17
【问题描述】:
我应该输入名称并使用 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);
}
}
【问题讨论】:
-
if (nameInList.compareToIgnoreCase(person) > 0)... 如果不是,会发生什么? -
如果不是,它不会更新索引以检查列表中的下一个单词吗?
-
如果
nameInListperson 会发生什么?person何时被添加到列表中?
标签: java alphabetical