2016-02-06 95 views
-2

我正在使用視覺工作室2012年,我正在創建一個程序,提示用戶輸入他們的車的車輪數量,他們的車的顏色,里程等。並將顯示「的起點汽車,里程和汽車的顏色,一旦用戶輸入他們的價值。但是,一旦我啓動程序並輸入車輪數量,程序就會終止,不會進入下一步。C#程序運行但終止?

public class Car 
{ 

     private int NumbofWheels; 
     private int Mileage; 
     private String Color; 
     private double point; 
     private double newPoint; 
     private String owner; 

     static void Main(string[] args) 
     { 



      Console.WriteLine("****************************************"); 
      Console.WriteLine("*   WELCOME TO CAR MANAGER  *"); 
      Console.WriteLine(); 
      Console.WriteLine("*    BY: MOHAMED SHIRE  *"); 
      Console.WriteLine("*          *"); 
      Console.WriteLine("*          *"); 
      Console.WriteLine("* **************************************"); 
      Console.Write("ENTER THE # OF WHEELS OF A CAR: "); 
      Console.ReadKey(); 
     } 

     public Car() 
     { 
      Mileage = 0; 
      NumbofWheels = 4; 
      point = 1000000; 
     } 

     public Car(int mile) 
     { 
      Mileage = mile; 
     } 

     public Car(int n, String c) 
     { 
      Mileage = 0; 
      NumbofWheels = n; 
      Color = c; 
      point = 1000000; 
     } 

    public void setPoint(int p) 
    { 
     point = p; 
    } 

    public double getPoint() 
    { 
     return point; 
    } 
    public void setMileage(int m) 
    { 
     Mileage = m; 

    } 

    public int getMileage() 
    { 
     return Mileage; 
    } 

    public void setWheels(int w) 
    { 
     NumbofWheels = w; 

    } 

    public int getWheels() 
    { 

     return NumbofWheels; 
    } 

    public void setColor(String c) 
    { 
     Color = c; 

    } 

    public String getColor() 
    { 
     return Color; 

    } 
    public void setOwner(String o) 
    { 
     owner = o; 
    } 
    public String getOwner() 
    { 
     return owner; 

    } 

    public void calPoint() 
    { 
     newPoint = point - Mileage * 0.5; 

    } 
    public double getnPoint() 
    { 
     return newPoint; 
    } 



    } 
} 

'

+0

什麼下一步後?你沒有下一步。您只需閱讀按下的鍵並退出程序。 –

+0

可能希望建議分開您的主程序類和實際的汽車類,因爲汽車通常不具有控制檯輸入和輸出。 – misha130

回答

5

這是你所有的程序執行過的代碼

 Console.WriteLine("****************************************"); 
     Console.WriteLine("*   WELCOME TO CAR MANAGER  *"); 
     Console.WriteLine(); 
     Console.WriteLine("*    BY: MOHAMED SHIRE  *"); 
     Console.WriteLine("*          *"); 
     Console.WriteLine("*          *"); 
     Console.WriteLine("* **************************************"); 
     Console.Write("ENTER THE # OF WHEELS OF A CAR: "); 
     Console.ReadKey(); 

您可以定義其他類和方法,但是你永遠不會創建另一個類的實例,也不會調用任何類方法。

你要弄清楚哪個鍵被按下實際

var key = Console.ReadKey(); 

,然後進行實際操作key東西。

您想將key轉換爲整數,因爲Car的方法需要一個整數。有三種常見的方式做到這一點:

  • int.Parse()
  • Convert.ToInt32()
  • int.TryParse()

其中,int.TryParse()爲您提供最佳因爲您可以檢查輸入是否可以實際轉換爲整數而不捕捉異常。

您將需要重複Console.Write()和Console.ReadKey()的模式以獲取所需的額外輸入,然後創建一個Car實例以將該輸入傳遞給。

+0

啊......我發現我的錯誤,我需要創建另一個班級哈哈。謝謝! – Noah

-1

你要找的是什麼 到Console.ReadLine()

+0

C#是區分大小寫的 –

+0

如果你使用Console.ReadLine() –

+0

這個程序仍然會終止這是問題最少的一個,它在接受那個輸入後什麼都不做...... –

0

因爲這是您編程的最後一個setp。你必須調用函數你讀NR ...... 例如

console.Readkey(); 
doSomethingWithNr();