2017-08-10 81 views
1

我有兩個arrayList在一個類,一個存儲汽車和另一個誰存儲貨車。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(); 
+0

您再次詢問請參閱第二個'System.out.print(「類型1的汽車;類型2的貨車;類型3的卡車\ n」);'。你的代碼工作正常。我沒有得到這樣一個事實:當你可以使用'SWITCH CASE'時,爲什麼要使用兩個變量'vop和opt'。 –

回答

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(); 

看到這裏,你不必使用兩個變量。這將爲你工作。

+0

非常感謝,它解決了我的問題。但是,現在,程序在最後一行之後終止。有什麼可以解決的問題?[程序在String model = input.nextLine(); [1]後終止] [1] [1]:https://i.stack.imgur.com/Yp53c.png – enjustice