2017-08-10 3 views
1

J'ai deux arrayList dans une classe, un qui stocke les voitures et un autre qui stocke les fourgonnettes.affichage du contenu arrayList

Je veux avoir une option pour afficher toutes les informations d'un tableau spécifique. Par exemple, appuyez sur 1 pour les voitures ou appuyez sur 2 pour les camionnettes.

J'ai réussi à faire quelque chose mais ça ne fonctionne pas correctement, après avoir choisi 2, il me montre toutes les camionnettes mais au lieu de passer à la ligne suivante et demande quel modèle louer, il demande à nouveau "voitures, appuyez sur 2 pour les camionnettes ".

Voici le code, je l'espère u comprendre ma question

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

Vous le demandez à nouveau voir second 'System.out.print (" Type 1 pour les voitures, Type 2 pour les fourgonnettes, Type 3 pour les camions \ n ");'. Votre code fonctionne bien. Je n'ai pas compris pourquoi utiliser deux variables, 'vop et opt', quand vous pouvez en utiliser une avec' SWITCH CASE'. –

Répondre

0

Vous pouvez utiliser ce code.

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

Voir ici, vous n'avez pas besoin d'utiliser deux variables. Cela fonctionnera pour vous.

+0

Merci beaucoup, ça a réglé mon problème. Cependant, maintenant, le programme se termine après cette dernière ligne. Quel peut être le problème? [Le programme se termine après String model = input.nextLine();] [1] [1]: https://i.stack.imgur.com/Yp53c.png – enjustice