我创建了一个 for 循环,列出了我的数组列表中的所有对象,但我需要它是一个始终以退出结尾的动态选项菜单。我在程序的其他部分以不同的方法使用了 switch case 选项菜单。但我不确定如何在这里创建一个递增的大小写开关,或者是否必须将它放入 for 循环中?private static void subCar(Scanner keyboard, CarLot carLot) { if (carLot.getCar().size() == 0) { System.out.println("No Cars on the Car Lot to Remove"); }else { System.out.println(""); System.out.println("Cars Available to Remove: "); System.out.printf("%-7s%-6s%-35s%-5s\n","Option"," ID","Make/Model/Year","Price"); for (int index=0; index < carLot.getCar().size(); index++) { System.out.printf("%-7s%-6s%-2s%-5s\n",carLot.getCar().get(index).getID(), carLot.getCar().get(index).getMake(),carLot.getCar().get(index).getModel(), carLot.getCar().get(index).getPrice()); } }}我正在尝试创建一个菜单选项,以便我可以选择从我的数组列表中删除哪个对象我希望输出看起来像这样:option ID Make/Model/Year Price1. 2 Chevrolet cavalier 2000 1999.992. Exitenter option:退出选项需要始终排在最后
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
您的最后一个选项将始终大于汽车列表的大小。
int option = //read it form scanner;
if (option > carLot.getCar().size()) {
// exit
} else {
carLot.getCar().remove(option);
}
打印所有选项和退出选项。您需要在循环、循环和一个循环后提取索引。示例之一:
int index = 0;
for (; index < carLot.getCar().size(); index++) {
System.out.printf("%-7s%-6s%-2s%-5s\n",
index,
carLot.getCar().get(index).getID(),
carLot.getCar().get(index).getMake() + " " + carLot.getCar().get(index).getModel(),
carLot.getCar().get(index).getPrice());
}
System.out.printf("%-7s%-6s", index, "Exit");
添加回答
举报
0/150
提交
取消