我想知道如何在代码的最底部使用remAll
方法。
每当我尝试使用out.println(list.remAll());
时,它会给我一个错误说
“没有为remAll找到合适的方法”?
我该如何解决这个问题?
我也尝试过使用out.println(remAll(list));
对于Java而言我是初学者,我只是在学习,所以请原谅我,如果这比看起来简单得多。附:对不起,如果格式错误或其他什么。这是我在这里的第一篇文章。
import java.util.*;
import static java.lang.System.*;
public class StringArrayListLoader
{
public static void main(String args[])
{
Scanner kb = new Scanner(in);
out.print("Size of list? ");
int s = kb.nextInt();
ArrayList<String>list = new ArrayList<String>();
out.println("Enter the Strings: ");
for(int x = 0; x < s; x++)
{
out.print("String " + x + " :: ");
list.add( kb.next());
}
out.println("\nThe ArrayList you entered is ...");
out.println(list);
out.println(beginWithx(list) + " of the Strings begin with an \'x\'");
out.println(firstLast(list) + " of the Strings begin and end witletter.");
out.println("First String = Last String? " + firstLast2(list));
out.println(*******); // what am i supposed to put here?
}
public static int beginWithx(ArrayList<String>ar)
{
int count = 0;
for(int i = 0; i<ar.size(); i++)
if("x".equals(ar.get(i).substring(0,1)))
count++;
return count;
}
public static int firstLast(ArrayList<String>ar)
{
int counting = 0;
for(int i = 0; i<ar.size(); i++)
if(ar.get(i).substring(0,1).equals(ar.get(i).substring(ar.get(i).length()-2, ar.get(i).length()-1)))
counting++;
return counting;
}
public static boolean firstLast2(ArrayList<String>ar)
{
int counting = 0;
if(ar.get(0).equals(ar.get(ar.size()-1)))
return true;
return false;
}
public static void remAll(ArrayList<String>list, String s)
{
int i=0;
while(i<list.size())
{
if(list.get(i).equals(s))
{
list.remove(i);
}
else
{
i++;
}
}
out.println(list);
}
}
答案 0 :(得分:0)
您的remAll
方法有两个参数,ArrayList<String>
和String
。您必须传递两个参数才能正确调用方法,例如
remAll(list, someOtherStringHere); // remAll has its own "out.println" calls
答案 1 :(得分:0)
方法签名是
public static void remAll(ArrayList<String>list, String s)
所以,你需要把它称为:
remAll(list, "some string");
通过检查代码,它将从列表中删除“some string”的所有实例。