日期:2014-05-20  浏览次数:20716 次

新手学java,求教,谢谢!
编译的时候能通过,但是运行时有错,求指点:
/*
  测试各种比较运算符
*/
import java.util.*;//导入util包里的所有类
public class CompareOP
{ //构造方法
public CompareOP(){
  System.out.println("测试构造方法");
  }
//成员方法
public void compare(int[] c){
int a=c[1];
int b=c[2];
  System.out.println("a>b="+(a>b));
System.out.println("a<b="+(a<b));
System.out.println("a==b ="+(a==b));
System.out.println("a>=b ="+(a>=b));
System.out.println("a<=b="+(a<=b));
}
//内部类
class Put{
public int[] Fun(){
System.out.println("请输入两个数值a和b");
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
int b=scanner.nextInt();
int[] c={a,b};
return c;
}
}
//主入口方法
public static void main(String[] args){
CompareOP compareop=new CompareOP();
CompareOP.Put d=compareop.new Put();
int[] c=d.Fun();
compareop.compare(c);
  }
}

------解决方案--------------------
数组下标越界
int[] c 只有两个值,所以取的时候是c[0]和c[1]
你写成c[1]和c[2]了,其他没问题