2010-02-11 51 views
0

字符串給定一個字符串如何閱讀和從Java中

7 + 45 * 65 

提取整數如何檢查此字符串的一個給定的字符是否是一個整數,然後存儲在一個整型變量全整數值?

E.g.對於65,檢查6是否是整數,如果是,則將65存儲在另一個整數變量中。您可以假設該字符串可以轉換爲字符數組。

+0

正如傑裏McCoder,傑裏·馬奎爾的表弟,有句名言:... *顯示我的代碼*!?!? – 2010-02-11 18:01:29

+2

他的未婚夫說:「你有我在你好世界()」 – Tom 2010-02-11 18:02:13

+0

我假設這是一個編程任務。你可以展示你現在擁有的代碼,或者你正在考慮的方法(以及關注點)等等?你是否應該通過計算表達式的價值?如果是這樣,哪些運營商是可能的?負數? – 2010-02-11 18:02:42

回答

1

對於一個快速和骯髒的soluiton我會用StringTokenizer類和嘗試{的Integer.parseInt()}趕上(NumberFormatException的){}

2

鑑於這看起來像下面的作業是一些簡單的方法來解析和存儲每個整數值的技巧。

  • 查看Character類的API文檔。這將包含確定一個字符是否是數字的方法。
  • 考慮使用StringBuilder來存儲數字的每個數字中讀取的中間數值結果。
  • 請檢查Integer類API以獲取幫助解析String值(存儲在您的StringBuilder中)並將其變爲int的方法。
  • 最後,考慮使用List(例如LinkedList)來存儲int值。
1

最簡單的解決方案是使用java.util.Scanner。您可以設置Scanner.useDelimeter("\\D+")這將意味着跳過任何非數字字符,然後調用Scanner.nextInt()以從字符串中獲取下一個整數。

如果要使用字符,請使用Character.isDigit(char c)

+0

你的回答很好,但我沒有使用它..但它的完全正確和不適用於未來.. thans – higherDefender 2010-02-13 02:12:47