簡體   English   中英

輸入:123 -123 Output:0 線程“主”中的異常 java.lang.ArrayIndexOutOfBoundsException:

[英]Input: 123 -123 Output: 0 Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException:

  public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String num = sc.next();
        String[] partsOfNums = num.split("\\-");
        int num1 = Integer.parseInt(partsOfNums[0]);
        int num2 = Integer.parseInt(partsOfNums[1]);
        int result = num1 - num2;
        System.out.println(result);

    }

}

我想輸入 123 -123 並打印出 0 但我得到了錯誤。

 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at codingexercises.Main.main(Main.java:12)

代碼有什么問題?

  • 讀取整行而不是下一個字符串標記
  • 拆分時無需添加轉義字符
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();
        String[] partsOfNums = num.split("-");
        int num1 = Integer.parseInt(partsOfNums[0].trim());
        int num2 = Integer.parseInt(partsOfNums[1].trim());
        int result = num1 - num2;
        System.out.println(result);

    }
}

暫無
暫無

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

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