indexOf()java中的公共方法无法编译

时间:2017-07-03 02:56:16

标签: java string compiler-errors

我在java类中定义公共方法时遇到了一些问题。这个方法(searchChar())应该在String funcX中获取所需子字符串的索引。如下所示:

private String funcX;

public int searchChar(char ndd) {
    int gabi = int funcX.indexOf(ndd);
    return gabi;
}

上面写的代码似乎是标准的,但我得到了以下错误:

'.class' expected

unexpected type
  required: value
  found:    class

因此,方法所在的类尚未在主类中使用,我无法得到它的编译时错误。 任何人都可以帮我这个吗?!

3 个答案:

答案 0 :(得分:0)

你所拥有的第二个 int 不应该在那里。

答案 1 :(得分:0)

您的语法不正确。它应该是:

public int searchChar(char ndd) {
    int gabi = funcX.indexOf(ndd);
    return gabi;
}

或删除不必要的变量创建:

public int searchChar(char ndd) {
    return funcX.indexOf(ndd);
}

答案 2 :(得分:0)

尝试将int funcX.indexOf(ndd)更改为(int) funcX.indexOf(ndd),或者只删除所有广告素材。这就是你的问题所在。您的方法应如下所示:

public int searchChar(char ndd) {
    int gabi = funcX.indexOf(ndd);
    return gabi;
}

或者如果你真的想要施放int(这是不必要的),它应该是这样的:

public int searchChar(char ndd) {
    int gabi = (int) funcX.indexOf(ndd);
    return gabi;
}

或正如其他人所说,只需像这样写,删除变量创建:

return funcX.indexOf(ndd);

或者更好的编写方法是添加另一个String参数,如下所示:

public static int searchChar(char ndd, String funcX) {
    int gabi = funcX.indexOf(ndd);
    return gabi;
}
public static void main(String[] args) {
    System.out.println(searchChar('g', "program"));
}