Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0

前端 未结 3 930
一个人的身影
一个人的身影 2021-01-16 15:39
public class TestSample {
    public static void main(String[] args) {
        System.out.print(\"Hi, \");
        System.out.print(args[0]);
        System.out.prin         


        
3条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-16 16:16

    1. ArrayIndexOutOfBoundsException: 0

    It was thrown because args.length == 0 therefore args[0] is outside the arrays range of valid indices (learn more about arrays).

    Add a check for args.length>0 to fix it.

    public class TestSample {
        public static void main(String[] args) {
            System.out.print("Hi, ");
            System.out.print(args.length>0 ? args[0] : " I don't know who you are");
            System.out.println(". How are you?");
       }
    }
    

    2. Command line args as int

    You will have to parse the arguments to int[] yourself as the command line arguments are passed only as a String[]. To do this, use Integer.parseInt() but you will need exception handling to make sure the parsing went OK (learn more about exceptions). Ashkan's answer shows you how to do this.

提交回复
热议问题