2014-02-15 25 views
0

我想將字符串轉換爲int來查看結果,但我得到運行時錯誤。試圖將字符串轉換爲整數

String string="Java";  
int see=Integer.parseInt("string"); 

,也嘗試了這種代碼 -

String[] sstring={"Java"}; 
int ssee=Interger.parseInt("sstring[0]"); 

,也嘗試了這種代碼 -

String[] sstring={"Java"}; 
    int ssee=Interger.parseInt(sstring[0]); 

按摩我的GOT

Exception in thread "main" java.lang.NumberFormatException: For  input string: "string" 
      at java.lang.NumberFormatException.forInputString(Unknown Source) 
      at java.lang.Integer.parseInt(Unknown Source) 
      at java.lang.Integer.parseInt(Unknown Source) 
      at displayName.main(displayName.java:13) 
+0

你試圖打印字符「Java」的ASCII碼? – anonymous

+1

@anonymous不,我想看看會發生什麼,如果我試圖將字符串名稱轉換爲整數,但現在我知道它不可能。我怎樣才能得到「Java」的ASCII值? –

+0

@Shantanu:沒有辦法獲取變量的內容,其名稱與Java中字符串的內容相對應。 –

回答

1

你需要給它包含一個整數的字符串:

String value="10"; 
int x=Integer.parseInt(value); 

如果沒有一個有效的字符串傳遞將試圖解析,這是你」的時候拋出一個異常重新看。

1

這是因爲有該字符串中沒有整數。你必須把它作爲一個字符串傳遞給它,否則就沒有有效的值返回。

根據您的使用情況,在這種情況下捕獲該異常並使用默認值可能完全可以。

0

這是對String#parseInt是如何工作

int see = Integer.parseInt("1234"); 

的字符串需要代表了一些例子。


也許你正在尋找獲取字符串的ASCII值?

String s = "Java"; 
byte[] bytes = s.getBytes("US-ASCII"); 
0

如果你正在尋找一個Integer對象,而不是原始的類型,可以使用的valueOf返回

Integer i = Integer.valueOf("1234")

如果你是新來的Java試圖在這裏看完Difference between Integer and int.

0

只有數以String的形式表示可以使用Integer.parseInt()函數進行解析。在其他情況下,拋出NumberFormatException

我會建議谷歌和維基百科這些簡單的事情。他們是學習的重要來源,也是解決簡單疑惑的第一步。

希望這有助於。