2013-06-05 138 views
0

我想獲得一個矩形應用程序的工作,目的是讓用戶輸入的長度和寬度,但我不知道如何調用方法,並獲得用戶輸入顯示在我的輸出。如何使用其他類的方法?

這裏是我的課(langd = lenght,bredd =瑞典寬度)

namespace _10._3 
{ 
class Rectangle 
{ 
    private double langd; 
    private double bredd; 

    public Rectangle() 
    { 

     langd = 1.0; 
     bredd = 1.0; 

    } 
    public Rectangle(double langden, double bredden) 
    { 
     langd = langden; 
     bredd = bredden; 

    } 

    public double langden 

    { 
     get 
     { 
      return langd; 
     } 
     set 
     { 
      if (value > 0 && value < 20) 
       langden = value; 

      else 
       throw new ArgumentOutOfRangeException("längd", value, "langde måste vara mer än 0 och mindre än 20 "); 
     } 

    } 
    public double bredden 
    { 
     get { 
      return bredd; 

     } 
     set { 
      if (value > 0 && value < 20) 
       bredd = value; 

      else 
       throw new ArgumentOutOfRangeException("bredd", value, "bredden måste vara mer än 0 och mindre än 20"); 

     } 
    } 
    public double omkrats 
    { 
     get 
     { 
      return 2 * langd + 2 * bredd; 
     } 
    } 
    public double area{ 
    get { 
    return langd * bredd; 
    } 


    } 
    public override string ToString() 
    { 
     return string.Format("{0}: {1}{2}: {3}{4}: {5}{6}: {7}", "Längd", langd, "bredd", bredd, "Omkräts", omkrats, "Area", area); 



    } 

} 

}

這裏是我的程序:

namespace _10._3 
{ 
    class test 
    { 
     public static void Main(string[] args) 
     { 
      Rectangle rectangle = new Rectangle(); 


      Console.WriteLine("Skriv in längden :"); 
      rectangle.langden = Convert.ToDouble(Console.ReadLine()); 
      Console.WriteLine("Skriv in bredden :"); 
      rectangle.bredden = Convert.ToDouble(Console.ReadLine()); 


      Console.WriteLine(rectangle.ToString()); 

      Console.WriteLine("Längd :"); 
      Console.WriteLine("Bredd :"); 
      Console.WriteLine("Omkräts:"); 
      Console.WriteLine("Area"); 
     } 
    } 
} 
+2

說的是什麼呢?? :) –

+1

@LittleChild我敢打賭,我的靈魂就是C#。 – Renan

+0

@Ranan不,請不要。 –

回答

1

你想使用屬性getters/setters?(你似乎在使用setters很好)

只要把它們當作var iables

Console.WriteLine("Längd : " + rectangle.langden.ToString()); 

Console.WriteLine("Längd : {0}", rectangle.langden); 
+1

在一個相關的筆記,通用的命名標準可能會命名您的長度屬性'Langd' –

+0

好的謝謝!只是我正在尋找:)但我得到一個類型'System.StackOverflowException'的未處理的異常發生在10.3.exe – user2456264

+1

@ user2456264原因是因爲當你做'langden = value;'你基本上調用本身就是二傳手。將該行更改爲'langd = value; ' –