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

我创建了一个 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          Price

1.       2     Chevrolet cavalier 2000  1999.99

2.       Exit

enter option:

退出选项需要始终排在最后


茅侃侃
浏览 128回答 1
1回答

烙印99

您的最后一个选项将始终大于汽车列表的大小。int option = //read it form scanner;&nbsp;if (option > carLot.getCar().size()) {&nbsp;&nbsp; &nbsp; // exit&nbsp;} else {&nbsp;&nbsp; &nbsp; carLot.getCar().remove(option);}打印所有选项和退出选项。您需要在循环、循环和一个循环后提取索引。示例之一:int index = 0;for (; index < carLot.getCar().size(); index++) {&nbsp; &nbsp; System.out.printf("%-7s%-6s%-2s%-5s\n",&nbsp; &nbsp; &nbsp; &nbsp; index,&nbsp; &nbsp; &nbsp; &nbsp; carLot.getCar().get(index).getID(),&nbsp; &nbsp; &nbsp; &nbsp; carLot.getCar().get(index).getMake() + " " + carLot.getCar().get(index).getModel(),&nbsp; &nbsp; &nbsp; &nbsp; carLot.getCar().get(index).getPrice());}System.out.printf("%-7s%-6s", index, "Exit");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java