簡體   English   中英

將字符串轉換為 Int 時出錯 Java

[英]Error While converting a String to an Int Java

所以我收到一個 IP/PortNumber:WaitTime 形式的字符串作為字符串。 我已經在“:”上拆分了這兩個部分,所以我收到兩部分,IP/Potnumber 作為一個,WaitTime 作為另一個字符串。 我試圖將此字符串轉換為 int,但我不斷收到字符串無效的錯誤。

錯誤:

這是顯示第二個代碼塊輸出的更新圖像。 print statmetn 顯示沒有空格 這就是我從用戶那里獲取輸入的方式。[![][3] ][3]

public static int GetJob (String recieved) {
    String[] arrOfJob = recieved.split(":");
    int accjob =0;
    try {
        accjob = Integer.parseInt(arrOfJob[1]);
    } catch(NumberFormatException ex){
        System.out.println(ex);
    }
    return accjob;
}


public static int GetJob (String recieved) {
    String[] arrOfJob = recieved.split(":");
    int accjob =0;
    System.out.print("/"+arrOfJob[1]+"/");
    try {
        accjob = Integer.parseInt(arrOfJob[1]);
    } catch(NumberFormatException ex){
        System.out.println(ex);
    }
    return accjob;
}

嘗試 java 中的 instanceof 並檢查您是否正在解析字符串或雙精度或其他數據類型。

例子:

Integer i = 0;
if(i instanceof Integer) {
    System.out.println("true");
}

Output:

true

確保變量應該是對象(整數,雙精度,..)而不是原始類型(整數,雙精度,..)。

對於不可解析的值,將出現 NumberFormatException 的原因。

嘗試這個:

    public static int getJob(String input) {
        String[] split = input.split(":");
        try {
            return Integer.parseInt(split[1].trim());
        } catch (NumberFormatException ex) {
            ex.printStackTrace();
        }
        return -1;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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