java.lang.ArrayIndexOutOfBoundsException:在最简单的程序中为0
我是Java新手。这只是我尝试建立的第二个程序。 我试图在prevoius的问题中找到答案,但无法,请原谅我,如果这已经得到了回答 以下是节目: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(", ");
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);
}
}