不兼容的类型int需要串

问题描述:

我需要的是一个int返回,但它口口声声说不兼容的类型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不知道为什么它吓坏了

+0

reuturn类型是'String'和'finalExam'是int – Raghunandan

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) 
+0

哇,这是一个大脑放屁......谢谢! – Bob

你“再当它想一个String

更改返回一个int

public static String readFinalScore(Scanner kb) 

分为:

public static int readFinalScore(Scanner kb) 

如果你的意思是你的申报方法返回String,JAVA不会自动转换的intString

更改return声明:

return String.valueOf(finalExam); 

或者你可以 “骗” 过:

return finalExam + ""; 

但是,如果你真的想返回int,然后宣布你的方法像这样:

public static int readFinalScore(Scanner kb) 

您当前的方法代码将起作用。

+0

他期待int作为返回值...正确地阅读问题。 – Hariharan

+0

@Hariharan也许。很难说。无论如何现在回答这两种可能性 – Bohemian

+0

@Bohemian我无法删除投票。 – Hariharan

你回报的声明是不正确。您应更改为int而不是String

public static int readFinalScore(Scanner kb) 

    return finalExam ; 
} 

你return语句不匹配..

所以,你可以使用Integer.toString(finalExam)返回字符串类型

希望它可以帮助..