Calculate length of first argument in java

shantz :

I want to print the length of the first argument(args[0]) but getting ArrayOutOfBountException :

public class Main {
    public static void main(String[] args){
        args[0] = "Hello";
        System.out.println(args[0].length());

    }
}

Exception:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at Main.main(Main.java:3)
Dushyant Tankariya :

When you write the code,

public class Main {
    public static void main(String[] args){
        args[0] = "Hello";
        System.out.println(args[0].length());

    }
}

At this point args[0]="Hello";, If your args a String array is not initialized then, while execute I'm supposed to think that you may have used the command in such a way java Main to execute your basic program.

Which cause the error, You have not passed any argument through command line so your String[] args is not initialized yet and it is not able to store your String "Hello" inside array args[0] and you are trying to print an empty array and throw the Exception

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at Main.main(Main.java:3)

Update Answer:
Now Yes, You can use that to verify the String args length before print.

public class Main {
    public static void main(String[] args){
        if(args.length !=0){
           System.out.println(args[0].length());
        }else{
          args = new String[1]; //Initilize first
          args[0] = "Hello";    //Store value in array element 
          System.out.println(args[0].length()); //Print it.
        }  
    }
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=146897&siteId=1