我有一系列超级轿车。此数组中有两种类型的对象--NewCar对象和UsedCar对象。每个汽车对象都有int价格。我想打印低于特定价格的汽车对象列表。
public String printAllCarsWithSellingPriceBelow(int p){
String s = "";
for (int i; i < CAR_COUNTER; i++) {
//s += cars[i].toString();
s += cars[i].printThis(i) + "\n";
if ( i.getPrice < p){
int h = i.getPrice;
s += cars[h].printThis(h) + "\n"; }
}
return s;
我一直收到这个错误:
TestDealer.java:125:错误:int无法解除引用
if ( i.getPrice < p){
^
TestDealer.java:126:错误:int无法解除引用
int h = i.getPrice;
^
2个错误
在此代码中:
if ( i.getPrice < p){
int h = i.getPrice;
s += cars[h].printThis(h) + "\n"; }
感谢任何帮助。谢谢!
答案 0 :(得分:2)
i
变量的类型为int。
由于类型int
是基元,因此不能从变量中引用方法或字段。只有objects
可以有方法和字段。
解决此问题的一种方法是使用i
if( i > p){
int h = i;
....