[英]Parse a negative prefix integer from string in java
嗨,我有一個看起來像這樣的字符串10 -1 30 -2,我想讀取空格之間的數字。 我可以使用FOR語句和代碼來執行此操作
Character.toString(myString.charAt(i));
和
Integer.parseInt(myString);
但是,當我嘗試讀取負數(如-1)並且收到錯誤消息時,我遇到了一個問題:
09-09 13:06:49.630: ERROR/AndroidRuntime(3365): Caused by: java.lang.NumberFormatException: unable to parse '-' as integer
任何想法如何解決這個問題?
這是你想要的嗎?
for (String number : "10 -1 30 -2".split("\\s"))
{
int x = Integer.parseInt(number);
System.out.println(x);
}
這將打印:
10
-1
30
-2
您正在嘗試解析單個字符 ( '-'
)(公認地,將其轉換為字符串之后),而不是字符串“ -1”。 如果使用charAt
,則一次將解析一個數字 ,因此“ 10”將顯示為1,然后為0,而不是10。
如果只是將字符串拆分為空格,則應該可以毫無問題地解析字符串。
也許您想使用StringTokenizer將String拆分為某些字符。
StringTokenizer st = new StringTokenizer("10 -1 30 -2");
while (st.hasMoreTokens()) {
String intStr = st.nextToken();
int x = Integer.parseInt(intStr);
System.out.println(x);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.