找不到合适的方法?请帮我完成这个?

时间:2014-03-05 01:20:10

标签: java arrays

我想知道如何在代码的最底部使用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);
    }
}

2 个答案:

答案 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”的所有实例。