2013-10-10 95 views
-4

這是我第一次使用這個論壇!我是二年級的大學生,剛剛開始用C#編寫代碼(就像去年我們做過的java一樣)。使用兩個類來計算一個圓的面積

其中一個實驗練習是編寫一個彈出終端窗口的小程序,要求輸入一個數字(十進制數字),這意味着程序通過調用另一個類的方法來計算區域的半徑!

我已經在Visual Studio 2008中使用相同的命名空間編寫代碼,它構建並運行但不起作用? 這裏是不同類的代碼,任何幫助/建議,將不勝感激。

驗證碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Program4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Enter The Radius:");//Text to be displayed in the console 
      Console.ReadLine();//Read the line and store information in temp directory 
      Pie one = new Pie();//Calls the method from the class in the same namespace 
      Console.ReadKey();//Reads and displays the next key pressed in the console 
      Environment.Exit(0);//Exit the Enviromet   
     } 
    } 
} 


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Program4 
{ 
    class Pie 
    {  
     public void Pin() 
     { 
      int r;//defining the value that is going to be entered as an integer 
      double result;//declaring the result string as a double 
      r = (int)Convert.ToDouble(Console.ReadLine()); 
      result=(3.14*r*r);//the calculation to work out pie 
      Console.WriteLine("The Radius of the circle is " + (result));//the writeline statement  
     } 
    } 
} 
+0

您需要實際調用了'腳()'方法。如果你正在調用'Pin()',你只需要調用'ReadLine'兩次。 –

+0

你還需要看看你的數學。如果'result =(3.14 * r * r)',那麼結果就不是你在'.Pin()'中的'WriteLine'所指定的半徑... – EvilGeniusJamie

+0

感謝您的評論,我將重新訪問代碼 – itchebantye

回答

3

的方法你可以嘗試運行代碼:

Pie one = new Pie(); 
one.Pin(); 

另外:
此線路:

Console.ReadLine();//Read the line and store information in temp directory 

該評論是非常錯誤的。它應該是//Read the line and throws the result away

這:(int)Convert.ToDouble(Console.ReadLine());
可以通過這個來代替:int.Parse(Console.ReadLine())

+1

感謝您的建議我將重新審視代碼:D – itchebantye

-4

添加靜態類餅圖和公共無效引腳()。它將工作

static class Pie 
    { 

      public static void Pin() 
      { 
      int r;//defining the value that is going to be entered as an integer 
      double result;//declaring the result string as a double 
      r = (int)Convert.ToDouble(Console.ReadLine()); 
      result=(3.14*r*r);//the calculation to work out pie 
      Console.WriteLine("The Radius of the circle is " + (result));//the writeline statement  
     } 
    } 

,或者如果你喜歡,你可以實例化類,然後調用這樣

Pie pie=new Pie(); 
pie.Pin(); 
+0

我在哪裏錯誤? – Tinwor

+2

將它們更改爲靜態將不起作用,除非您調用您未提及的'Pie.Pin()'。從問題中可以清楚地看出,用戶誤解了類實例和方法調用是如何工作的。所以這是一個很好的答案應該關注 - 教導OP如何正確做事 – musefan

+0

感謝您的建議,我將重新審視代碼:D – itchebantye