1
public String getMessage (int numEggs) {

    int a = numEggs/12;
    int b = numEggs%12;

    if ( numEggs < 0) {
        System.out.println("Invalid number");
    } else {
        System.out.println("Your number of eggs is "+ a +" dozen(s) and "+ b+".");
        return;
    }
}

Type mismatch: cannot convert from int to Stringそのため、リターンに何かを入れようとすると、取得し続けます。コードの何が問題になっていますか?getMessage (int numEggs)与えられた質問の一部であるため、使用する必要があります。

4

4 に答える 4

0

わかりませんType mismatch: cannot convert from int to Stringが、エラーは次のとおりです。This method must return a result of type String

メソッドに return ステートメントがありません:

public String getMessage(int numEggs) {

    int a = numEggs / 12;
    int b = numEggs % 12;

    if (numEggs < 0) {
        return "Invalid number";
    } else {
        return "Your number of eggs is " + a + " dozen(s) and "
                + b + ".";          
    }
}

getMessage戻り値の型を変更しても、返されvoidませんType mismatch: cannot convert from int to String

public void getMessage(int numEggs) {

    int a = numEggs / 12;
    int b = numEggs % 12;

    if (numEggs < 0) {
        System.out.println("Invalid number");
    } else {
        System.out.println("Your number of eggs is " + a + " dozen(s) and "
                + b + ".");
        return;
    }
}
于 2013-04-01T02:55:38.330 に答える
0

文字列を返す必要がありますか? 印刷したいだけの場合は、戻り値の型を無効にして、下部の「戻り値」を削除してください。

于 2013-04-01T02:58:09.500 に答える
0

戻り値に何かを入れようとすると、int から String に変換できません。

このメソッドは、文字列を返すことを想定しています。したがって、次のことはできません。

return 1; //ie 1, does not get automatically converted to "1"

しかし、次のことができます。

return "I'm a String";
于 2013-04-01T02:53:57.827 に答える
0

文字列を返したい場合:

public String getMessage (int numEggs) {

int a = numEggs/12;
int b = numEggs%12;
String strReturn = "";

if ( numEggs < 0) {
    strReturn = "Invalid number";
} else {
    strReturn = "Your number of eggs is "+ a +" dozen(s) and "+ b+".";

}
return strReturn;

}

コンソールで印刷したい場合は、

public void getMessage (int numEggs) {

int a = numEggs/12;
int b = numEggs%12;

if ( numEggs < 0) {
    System.out.println("Invalid number");
} else {
    System.out.println("Your number of eggs is "+ a +" dozen(s) and "+ b+".");
}

}

于 2013-04-01T17:23:59.650 に答える