当前位置: 代码迷 >> J2EE >> JAVA 出错 跪求改 分少见谅
  详细解决方案

JAVA 出错 跪求改 分少见谅

热度:584   发布时间:2016-04-19 21:57:35.0
JAVA 报错 跪求改 分少见谅
package test4;

public class Mystery {
public static void main(String[] args ){
Changer c =new Changer();
c.method(args);
System.out.println(args[0]+""+args[1]);
}
static class Changer{
void method(String[] s){
String temp=s[0];
s[0]=s[1];
s[1]=temp;

}
}
}



Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at test4.Mystery$Changer.method(Mystery.java:11)
at test4.Mystery.main(Mystery.java:6)

------解决方案--------------------
这么明显的数组下标越界错误
------解决方案--------------------
数组越界嘛,你是不是输参数的时候只输了一个?
------解决方案--------------------
LZ没有带参运行class文件
------解决方案--------------------
你在你的Main方法里打印一下Main方法参数数组的长度:
System.out.println(args.length);
就会发现是0,没有元素~
你的代码里s[0]、s[1]的地方必定都会报错,就是数组下标越界。
关于main方法及其参数你可以再深入研究一下。
------解决方案--------------------
引用:
Quote: 引用:

这么明显的数组下标越界错误
那我该怎么改 我知道是那个错误

public class Mystery {
public static void main(String[] args ){
Changer c =new Changer();
c.method(args);
//System.out.println(args[0]+""+args[1]);
}
static class Changer{
void method(String[] s){
//String temp=s[0];
//s[0]=s[1];
//s[1]=temp;

}
}
}
改的话没意义,把你取数组对象的代码去掉就好了。数组本身就没有元素,你取就报错。
  相关解决方案