线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:4位于JT1.main(JT1.java:11)

线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:4位于JT1.main(JT1.java:11),java,arrays,args,Java,Arrays,Args,应该是 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at JT1.main(JT1.java:11) 您正在尝试获取CopyArgs[5],但您没有该索引 尝试将第二个for循环更改为: 使用System.arraycopy复制阵列 定义与原始文件长度相同的副本: System.out.println(Arrays.toString(CopyArgs)); 使用数组的长度而不是固定值: Stri

应该是

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at JT1.main(JT1.java:11)
您正在尝试获取CopyArgs[5],但您没有该索引

尝试将第二个for循环更改为:

使用System.arraycopy复制阵列

定义与原始文件长度相同的副本:

System.out.println(Arrays.toString(CopyArgs));
使用数组的长度而不是固定值:

String[] copyArgs[] = new String[args.length];

System.arraycopy( args, 0, copyArgs, 0, args.length );

顺便说一句:注意Java命名约定。变量名称应以小写字符开头。copyOfargs,args.length是一种更容易调用的方法。谢谢,这就是解决方案:
for (int i = 0; i < CopyArgs.length; i++) {
    System.out.println(CopyArgs[i]); 
}
System.out.println(Arrays.toString(CopyArgs));
String[] copyArgs[] = new String[args.length];

System.arraycopy( args, 0, copyArgs, 0, args.length );
for(int i = 0; i < copyArgs.length;i++)
System.out.println(copyArgs[i]);