不兼容的类型int需要字符串

时间:2013-10-28 04:15:15

标签: java int incompatibletypeerror

我需要它作为返回的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不知道为什么它吓坏了

5 个答案:

答案 0 :(得分:1)

如果需要int

,则会返回String

变化:

public static String readFinalScore(Scanner kb)

进入:

public static int readFinalScore(Scanner kb)

答案 1 :(得分:1)

如果您打算声明方法返回String,则java不会自动将int转换为String

将您的return声明更改为:

return String.valueOf(finalExam);

或者你也可以“作弊”:

return finalExam + "";

但是,如果你真的想要返回一个int,那么就像这样声明你的方法:

public static int readFinalScore(Scanner kb)

您当前的方法代码将有效。

答案 2 :(得分:1)

public static String readFinalScore(Scanner kb) // return type String
{int finalExam; // finalExam is int
...
return finalExam;   // returning int value when it expects String

返回类型为StringfinalExam为int。

更改为

public static int readFinalScore(Scanner kb)

答案 3 :(得分:0)

您的退货声明不正确。您应该更改为int而不是String

public static int readFinalScore(Scanner kb)

   return finalExam ;
}

答案 4 :(得分:0)

您的退货声明不匹配..

因此您可以使用Integer.toString(finalExam)返回String类型

希望有所帮助......