编译的时候能通过,但是运行时有错,求指点:
/*
测试各种比较运算符
*/
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);
}
}
/*
测试各种比较运算符
*/
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);
}
}
第一,注释不是你这样写的,有些注释完全没必要写,譬如第一行:导入包的那句,完全废话吗!
第二,代码请粘贴上来,这样发我看着很吃力。公司只能看论坛,没IDE格式化。
int[] c 只有两个值,所以取的时候是c[0]和c[1]
你写成c[1]和c[2]了,其他没问题
数组第一个是c[0]而不是c[1]。
public class CompareOP
{ //构造方法
public CompareOP(){
System.out.println("测试构造方法");
}
//成员方法
public void compare(int[] c){
int a=c[0];//你的问题在这儿,数组的遍历要从0开始
int b=c[1];
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);
}
}
这样应该可以了