我需要帮助来从数组内部的对象获取值。例如,如果我在Menu
类中将实例变量声明为:
private String id;
private String name;
private double price;
然后我将数组初始化为
Menu[] food = {new Menu("F01", "Burger", 10.00), ...};
当用户输入Menu的ID时,如何获得食物的价格?我该怎么办?
您应该执行以下操作:
Menu[] menus = {new Menu("FO1","Burger",10.00),
new Menu("FO2","Pizza",20.00)
};
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your id");
String menuId = scanner.nextLine();
要遍历数组,可以使用Java 8 Stream或normal for循环。
方法1 :(用于循环)
for (int i = 0; i < menus.length; i++) {
if(menus[i].getId().equals(menuId)){
System.out.println(menus[i].getPrice());
}
}
方法2 :(流)
Arrays.stream(menus).filter(menu -> menu.getId().equals(menuId))
.findFirst()
.ifPresent(menu -> {
System.out.println(menu.getPrice());
});