【发布时间】:2021-02-26 09:19:09
【问题描述】:
我正在尝试在 searchByCompany() 方法中使用 IcecreamArray[] 来按公司名称打印冰淇淋信息,但它给了我一个错误数组不存在。
错误: 创建局部变量 IcecreamArray。另外,我怎样才能让我的代码更有效率?
public class MainIcecream {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Icecream[] IcecreamArray = new Icecream[5];
for (int i = 0; i < 5; i++) {
IcecreamArray[i] = new Icecream();
System.out.println("Enter Icecream type " + i + " : ");
IcecreamArray[i].setIcecreamType(sc.next());
System.out.println("Enter Icecream Company " + i + " : ");
IcecreamArray[i].setIcecreamCompany(sc.next());
System.out.println("Enter Icecream Price " + i + " : ");
IcecreamArray[i].setIcecreamPrice(sc.nextDouble());
}
public static void searchByCompany(String s){
for (int i = 0; i < 5; i++) {
if(s.equals(IcecreamArray[i].getIcecreamCompany())){
System.out.println(IcecreamArray[i].getIcecreamType());
System.out.println(IcecreamArray[i].getIcecreamCompany());
System.out.println(IcecreamArray[i].getIcecreamPrice());
}
}
}
public static class Icecream {
private String icecreamType;
private String icecreamCompany;
private double icecreamPrice;
public String toString(){
String str , t , c;
double p;
t = icecreamType;
c = icecreamCompany;
p = icecreamPrice;
str = "Icecream type: " + t + "\nManufacturer: " + c + "\nPrice: " + p;
return str;
}
public void setIcecreamType(String t) {
icecreamType = t;
}
public void setIcecreamCompany(String c){
icecreamCompany = c;
}
public void setIcecreamPrice(double p){
icecreamPrice = p;
}
String getIcecreamType(){
return icecreamType;
}
String getIcecreamCompany(){
return icecreamCompany;
}
double getIcecreamPrice(){
return icecreamPrice;
}
}
}
【问题讨论】:
标签: java arrays oop object methods