簡體   English   中英

從java中的字符串解析一個負前綴整數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM