2015-12-02 89 views
-1

也许有一个简单的答案,但我没有找到它,我希望你们CA我的问题案后回所有选项

String herhaal; 
do 
{ 
    int caseSwitch = 1; 
    WagenPark wagenPark = new WagenPark(); 

    Console.WriteLine("*** Wagenpark beheer ***"); 
    Console.WriteLine("1. Voeg een wagen toe"); 
    Console.WriteLine("2. Geef wagenpark overzicht"); 
    caseSwitch = int.Parse(Console.ReadLine()); 

    switch (caseSwitch) 
    { 
     case 1: 
      Wagen wagen = new Wagen(); 
      Console.WriteLine("Geef de nummerplaat van de wagen in: "); 
      wagen.NummerPlaat = Console.ReadLine(); 
      Console.WriteLine("Geef het merk van de wagin in: "); 
      wagen.Merk = Console.ReadLine(); 
      wagenPark.schrijfWagenIn(wagen); 
      Console.WriteLine("Wagen met nummerplaat " + wagen.NummerPlaat + " is toegevoegd."); 
      break; 
     case 2: 
      Console.WriteLine("*** Wagenpark overzicht ***"); 
      wagenPark.geefOverzicht(); 
      break; 
     default: 
      Console.WriteLine("Default case"); 
      break; 

    } 
     Console.WriteLine("Wens je nog een keuze te maken op het menu (J/N) ?"); 
     herhaal = Console.ReadLine(); 
    } while (herhaal == "J" || herhaal == "j"); 
} 

帮助的情况下的每一个的端氏的PROGRAMM应该回到2个选项我在顶部

Console.WriteLine("*** Wagenpark beheer ***"); 
Console.WriteLine("1. Voeg een wagen toe"); 
Console.WriteLine("2. Geef wagenpark overzicht"); 

但情况1之后它只是ANDS与案例2相同的我认为做的同时会防止这一点,但事实并非如此。

+0

代码是否达到要求你做出其他选择的程度? –

+1

你是什么意思“在案件1之后,它只是和”? – juharr

+2

每一次通过循环,你都会做'WagenPark wagenPark = new WagenPark();' - 是不是你打算单独使用这些单词并且添加* multiple *'Wagen'? (当然,在案例2中,您正在处理一个没有添加“Wagen”的新工具) –

回答

1

分析完代码后,有两件事情会导致意外行为。

第一个是如在comments to your question通过@Damien_The_Unbeliever说明。每次您通过do...while循环时,您都会创建一个新的停车场(WagenPark)。因此,您将不会有多辆车(Wagen)因为您已将wagenPark替换为新的wagenPark而被检入。这个问题可以通过在循环开始之前将wagenPark初始化移动到点来解决。

WagenPark wagenPark = new WagenPark(); // put it here 
do 
{ 
    int caseSwitch = 1; 
    
              
   
     WagenPark wagenPark = new WagenPark(); 
    // delete this 

    Console.WriteLine("*** Wagenpark beheer ***"); 
    Console.WriteLine("1. Voeg een wagen toe"); 
    Console.WriteLine("2. Geef wagenpark overzicht"); 
    caseSwitch = int.Parse(Console.ReadLine()); 

下一个潜在的错误是,在登记入住,汽车(WagenPark.schrijfWagenIn())方法不能正常工作。可能的,提供概述(WagenPark.geefOverzicht())的方法也可能无法正常工作。测试这两种方法以确保它们正常工作,并且您的代码可以正常工作。

+0

谢谢你做到了 – Sanscull