2013-10-28 122 views
0

我需要的是一個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

回答

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

哇,這是一個大腦放屁......謝謝! – Bob

1

你「再當它想一個String

更改返回一個int

public static String readFinalScore(Scanner kb) 

分爲:

public static int readFinalScore(Scanner kb) 
1

如果你的意思是你的申報方法返回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

0

你回報的聲明是不正確。您應更改爲int而不是String

public static int readFinalScore(Scanner kb) 

    return finalExam ; 
} 
0

你return語句不匹配..

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

希望它可以幫助..