获取“不适用的方法”编译错误

时间:2011-11-05 01:42:39

标签: java

有谁可以告诉我为什么我在{15}的第15行收到错误?下面是我的代码以及我从eclipse获得的确切消息:

  

LetterCount类型中的方法count(String,char)不适用于参数(String)

count(s1)

4 个答案:

答案 0 :(得分:4)

你的方法声明需要两个参数,当你调用它时,你只传递一个。

您可能也希望传递变量“s”。

答案 1 :(得分:2)

您只将一个参数传递给count(String s,char s1)

容易犯错误。

答案 2 :(得分:2)

修改此

System.out.println(s1 + "appears" + count(s1, someCharVariable) + "time(s).");

它需要2个参数,而您只提供一个参数。

这是唯一的错误。我已经复制了你的代码并进行了相应的测试。


试试这个。你将不得不应用一些条件来确保通过语句String s1 = input.next();输入的内容是Java中的有效字符。

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    System.out.print("Enter a string: ");
    String s = input.nextLine();

    System.out.print("Enter a character: ");
    String s1 = input.next();

    System.out.println(s1 + " appears " + count(s, s1.charAt(0)) + " time(s).");
}

public static int count(String s, char s1) {
    int count = 0;
    for (int i = 0; i < s.length(); i++)
    {
        if (s.charAt(i) == s1)
        {
            count++;
        }
    }
    return count;
}

答案 3 :(得分:1)

System.out.println(s1 + "appears" + count(s1) + "time(s).");

应该是:

System.out.println(s1 + "appears" + count(s,s1) + "time(s).");