我的问题是,当我输出这段代码时,它没有输出我想要的内容,即删除“全部”。它输出与第一个 print 语句完全相同的内容。
这是我的代码:
// RemoveAll
// Spec: To remove the "all"
// ArrayList remove() exercise
import java.util.ArrayList;
public class RemoveAll
{
public static void main(String args[])
{
ArrayList<String> ray;
ray = new ArrayList<String>();
int spot = ray.size() - 1;
ray.add("all");
ray.add("all");
ray.add("fun");
ray.add("dog");
ray.add("bat");
ray.add("cat");
ray.add("all");
ray.add("dog");
ray.add("all");
ray.add("all");
System.out.println(ray);
System.out.println(ray.size());
// add in a loop to remove all occurrences of all
while (spot >= 0)
{
if (ray.get(spot).equalsIgnoreCase("all"))
{
ray.remove(spot);
}
spot = spot - 1;
}
System.out.println("\n" + ray);
System.out.println(ray.size());
}
}
有什么想法吗?
最佳答案
您在填充列表之前确定size()
在列表填满后将其放置(即在 add()
之后)
int spot = ray.size() - 1;
关于java - 为什么我的程序没有删除 "all"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28035696/