1

我在一个类中有两个arrayList,一个存储汽车,另一个存储货车。

我想有一个选项来显示来自特定数组的所有信息。例如,按 1 表示汽车或按 2 表示货车

我设法做了一些东西,但它不能正常工作,在我选择 2 后,它会显示所有货车,但不是继续下一行并询问要租用哪种型号,而是再次询问“按 1 购买汽车,按 2 购买货车”。

这是代码,我希望你能理解我的问题

List<Van> vanlist = new ArrayList();
    vanlist.add(new Van("Mercedes", "Van2", "VBC842", 300, 500));
    vanlist.add(new Van("Mercedes", "Van3", "VBC489", 300, 500));
    vanlist.add(new Van("Mercedes", "Van1", "VBC970", 300, 500));
    vanlist.add(new Van("Mercedes", "Van4", "VBC153", 300, 500));

    Scanner input = new Scanner(System.in);
    System.out.print("Type 1 for cars; Type 2 for vans; Type 3 for trucks \n");
    int vop = input.nextInt();  
    for(Van van: vanlist) {
        if (vop == 2) {
            System.out.println(van);
        }  
    }

    System.out.print("Type 1 for cars; Type 2 for vans; Type 3 for trucks \n");
    int opt = input.nextInt();  
    for(Car car: carlist) {
        if (opt == 1) {
            System.out.println(car);

        }       
    }

    System.out.print("Enter model to rent: ");
    String model = input.nextLine();
4

1 回答 1

0

您可以使用此代码。

List<Van> vanlist = new ArrayList();
    vanlist.add(new Van("Mercedes", "Van2", "VBC842", 300, 500));
    vanlist.add(new Van("Mercedes", "Van3", "VBC489", 300, 500));
    vanlist.add(new Van("Mercedes", "Van1", "VBC970", 300, 500));
    vanlist.add(new Van("Mercedes", "Van4", "VBC153", 300, 500));

    Scanner input = new Scanner(System.in);
    System.out.print("Type 1 for cars; Type 2 for vans; Type 3 for trucks \n");
    int vop = input.nextInt();  
    Switch(vop){
    case 1:
    for(Van van: vanlist)             
            System.out.println(van);         
    break;

    case 2:     
    for(Car car: carlist)
            System.out.println(car);  
    break;
    default:
    System.out.println("Invalid Choice");
    break;
    }
    System.out.print("Enter model to rent: ");
    String model = input.nextLine();

看到这里,你不必使用两个变量。这对你有用。

于 2017-08-10T12:17:40.060 回答