0

返すにはintである必要がありますが、それは言い続けます

----jGRASP exec: javac -g CSCD210Lab8Functions.java

CSCD210Lab8Functions.java:118: incompatible types
found   : int
required: java.lang.String
      return finalExam;





 public static String readFinalScore(Scanner kb)
   {int finalExam;
      do{
         kb.nextLine();
         System.out.print("Enter the score of the final-->");
         finalExam = kb.nextInt();
         kb.nextLine();
         if (finalExam<0)
         {System.out.print("Invalid answer please try again " );}
      }while(finalExam<0);
      return finalExam;

私はそれをintとしてキャストし、次にkb.nextIntをキャストしましたが、なぜそれが異常なのかわかりません

4

5 に答える 5

1

int必要なときに を返していますString

変化する:

public static String readFinalScore(Scanner kb)

の中へ:

public static int readFinalScore(Scanner kb)
于 2013-10-28T04:17:15.747 に答える
1

メソッドを return に宣言するつもりだった場合String、Java は自動的に を に変換しませintString

returnステートメントを次のように変更します。

return String.valueOf(finalExam);

または、「ごまかす」こともできます。

return finalExam + "";

ただし、本当に を返したい場合はint、次のようにメソッドを宣言します。

public static int readFinalScore(Scanner kb)

その後、現在のメソッド コードが機能します。

于 2013-10-28T04:19:01.803 に答える