2014-04-01 42 views
0

我收到以下錯誤消息字符串int變量澄清

G:\CIS260\Assignments>javac PhoneNumber.java 
PhoneNumber.java:45: error: incompatible types 
     number = decode(c); 
        ^
    required: int 
    found: String 
1 error 

在上課的時候,我有

char c; 
private int number = 0 

這使得一個int,讓我明白了,爲了下一個行編譯我必須有兩個相同的數據類型。我的理解是,

str[1].valueOf(number); 

number = decode(c); 
public static String decode(char c){ 

switch (c) { 

應變量數字的字符串進行解碼和數字相同的數據類型,因爲它們都是字符串。

我覺得我可能會忘記一個步驟,以使兩個字符串的數據類型。有什麼想法嗎?

+0

這是什麼c。發佈c的聲明。 – guptakvgaurav

+0

謝謝大家 – user3483201

+0

可能重複[如何將字符串轉換爲int在Java?](http://stackoverflow.com/questions/5585779/how-to-convert-string-to-int-in-java) –

回答

1

char c = 0; //未聲明和初始化

number = Integer.parseInt(decode(c));

1

是你聲明數字爲整數。

所以你應該使用Integer.ParseInt來施放它。

+0

迂迴:你的意思是「轉換」,而不是「轉換」。 –

1

你必須返回的String一個值的方法public static String decode(char c),但是變量number接受該聲明爲Integer

String嘗試具有Integer返回類型像public static int decode(char c)

1

你的方法返回一個String

您正試圖將該返回的字符串存儲在int中。

Java不會像這樣自動將字符串轉換爲整數。你將不得不做明確的轉換。您可以使用Integer.parseInt此:

int number = Integer.parseInt(decode(c)); 

注意,如果返回的字符串實際上不是一個有效的整數NumberFormatException將被拋出。