0

我不知道为什么我会收到这个错误。

这是代码:

public static int WriteBirdType() {

BufferedReader reader = new BufferedReader( new FileReader ("fugler.txt"));
String         line = null;
StringBuilder  stringBuilder = new StringBuilder();
String         ls = System.getProperty("line.separator");

while( ( line = reader.readLine() ) != null ) {
stringBuilder.append( line );
stringBuilder.append( ls );
}

return stringBuilder.toString();

这是错误:

test.java:78: error: incompatible types
return stringBuilder.toString();
                             ^
required: int
found:    String
1 error

我能做些什么来解决这个问题?

4

2 回答 2

5

String当您声明要返回的方法时,您正试图返回 a int。要么返回int,要么将方法的返回类型更改为String

于 2013-09-17T22:41:25.127 回答
4

您的返回类型必须与方法签名匹配。

如果您的返回类型是int,那么您需要返回和 int,而不是字符串。toString()返回一个字符串。如果你需要返回一个String,那么将方法签名改为String,而不是int。

做这个:

    //change return type to string
    public static String WriteBirdType() {

    BufferedReader reader = new BufferedReader( new FileReader ("fugler.txt"));
    String         line = null;
    StringBuilder  stringBuilder = new StringBuilder();
    String         ls = System.getProperty("line.separator");

    while( ( line = reader.readLine() ) != null ) {
    stringBuilder.append( line );
    stringBuilder.append( ls );
    }

     return stringBuilder.toString();
于 2013-09-17T22:41:30.973 回答