我想制作一个简单的Java程序,但我遇到了以下错误:
bad operand types for binary operator '<'
first type: float
second type: Object
这是我的代码:
public static void main(String[] args) {
ArrayList pa = new ArrayList();
pa.add(100);
pa.add(85);
pa.add(80);
pa.add(75);
pa.add(70);
pa.add(60);
pa.add(50);
pa.add(40);
int [] pb = new int[8];
pb[0] =85;
pb[1] =80;
pb[2] =75;
pb[3] =70;
pb[4] =60;
pb[5] =50;
pb[6] =40;
pb[7] =30;
float input ;
string grade;
if ( (input < pa.get(1) ) && (input270 >= pb270[0]) ) // this is the problem
{ grade = "A+";
}
更改:
ArrayList pa = new ArrayList();
至:
ArrayList<Integer> pa = new ArrayList<>();
或者如果您喜欢:
ArrayList<Float> pa = new ArrayList<>();
在不告诉它列表中数据的类型的情况下,它将所有元素视为Object
,并且不能使用<
运算符比较float
和Object
。
定义集合,使其具有类型信息,而不是使用原始类型
List<Integer> pa = new ArrayList<>();