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メソッドを return と宣言したときに、 a を返そうとしていますint。を返すかint、メソッドの戻り値の型を に変更しStringます。

于 2013-09-17T22:41:25.127 に答える
4

戻り値の型はメソッド シグネチャと一致する必要があります。

戻り値の型がintの場合、文字列ではなく int を返す必要があります。toString()文字列を返します。String を返す必要がある場合は、メソッドのシグネチャを int ではなく String に変更します。

これを行う:

    //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 に答える