【发布时间】:2016-12-21 04:30:33
【问题描述】:
以下是我的代码。当我编译它时,程序可以工作。但它给了我错误的输出。当我使用循环打印出 arrayList 的元素时,它会打印出错误的输出。例如,“Greenville, SC”被打印出来,而它应该被排除在第一个 if 语句中。 arraylist 具有重复的值。
for (int i = 0; i < NoUber_cities.size(); i++)
{
if ((NoUber_cities.get(i)).equalsIgnoreCase("Greenville, SC"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Pensacola, FL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Peoria, IL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Asheville, NC"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Hattiesburg, MS"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Portland, ME"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Portland, ME"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Huntsville, AL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Reading, PA"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Birmingham, AL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Bloomington, IN"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Bowling Green, KY"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Lafayette, LA"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Central Atlantic Coast, FL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Lancaster, PA"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Charleston, SC"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Charleston, WV"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("San Juan, PR"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("London, Ont"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Springfield, IL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Columbia, MO"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Columbia, SC"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Montgomery, AL"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Morgantown, WV"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Fayetteville, AR"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Wilmington, NC"))
{
NoUber_cities.remove(i);
}
else if ((NoUber_cities.get(i)).equalsIgnoreCase("Outer Banks, NC"))
{
NoUber_cities.remove(i);
}
}
【问题讨论】:
-
输入是什么?即:NoUber_cities。此外,使用 for-each 语句或直接使用 List 的 removeAll 方法将使您的代码更具可读性。
-
“程序可以运行,但输出错误”...您可能需要查找“工作”的定义。
-
没有输入,我只是尝试从数组列表中删除这些字符串,但没有成功。
标签: java if-statement for-loop arraylist string-comparison