为了账号安全,请及时绑定邮箱和手机立即绑定

随 arraylist 对象数量增加和减少的选项菜单

随 arraylist 对象数量增加和减少的选项菜单

茅侃侃 2022-01-19 17:18:19
我创建了一个 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");


查看完整回答
反对 回复 2022-01-19
  • 1 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信