Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ArrayIndexOutOfBoundsException:在最简单的程序中为0_Java_Arrays - Fatal编程技术网

java.lang.ArrayIndexOutOfBoundsException:在最简单的程序中为0

java.lang.ArrayIndexOutOfBoundsException:在最简单的程序中为0,java,arrays,Java,Arrays,我是Java新手。这只是我尝试建立的第二个程序。 我试图在prevoius的问题中找到答案,但无法,请原谅我,如果这已经得到了回答 以下是节目: public class UseThree { public static void main(String[] args) { System.out.print("Hi, "); System.out.print(args[2]); System.out.print(", ");

我是Java新手。这只是我尝试建立的第二个程序。 我试图在prevoius的问题中找到答案,但无法,请原谅我,如果这已经得到了回答

以下是节目:

public class UseThree {

    public static void main(String[] args) {
        System.out.print("Hi, ");
        System.out.print(args[2]);
        System.out.print(", ");
        System.out.print(args[1]);
        System.out.print(", and ");
        System.out.print(args[0]);
        System.out.println(".");
    }
}
有人能告诉我为什么我不能运行这个吗

它显示出的问题是:

run UseThree

java.lang.ArrayIndexOutOfBoundsException: 0

    at UseThree.main(UseThree.java:7)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)

如果不向程序传递任何命令行参数,则
args
数组中不会有任何内容。在访问数组之前,您可以检查实际收到的参数数量,例如

public static void main(String[] args) {
    System.out.println("received " + args.length  + " arguments");
}

在访问不存在的元素时发生此异常。对于此程序,至少需要传递3个命令行参数。你用过Bcz吗


arg[0]、arg[1]、arg[2]

运行以下代码时,必须为arg[]添加字符串值:

java UseThree name1 name2 name3

名称1属于参数[0],名称2属于参数[1],名称3属于参数[2]

好吧,你没有得到什么实际的东西,只是做一件事,打印args的长度,然后从中看到长度并得到想法

这将给你一个想法:)


请记住,@param args是什么,那么你将得到你的ans:)

在运行程序时,你必须传递一些参数(至少3个)。@zouzu两个参数就足够了。(一个是文件名。)@devnull事实并非如此,如果不传递任何参数,数组长度为0。
public class TestingProject {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.print("Hello,HiHow,you");
        System.out.println("Hello1"+"Hi1"+"How1"+"you1");
        System.out.println(args.length);

    }

}