你已經離開了兩次花括號,並聲稱一個函數返回一個int
實際上沒有返回。 它有助於一次修復一件事 - 事實上,一次只能編寫很少的代碼,隨時編譯。如果你看不出有什麼不對的地方出了大塊,並且儘量保持你的代碼整齊排列,那麼你可以看到你可能錯過了一個支撐或類似的地方。
using System;
namespace Calculator
{
class Program
{
public static void Main(string[] args)
{
}//<-----------
public int number01;
public int number02;
public int Number03
{
get
{
return number02/number01;
}
}//<----------
class Program1 : Program
{
public void DivideFinal()//<---- void not int
{
Console.Write("Enter a number to be divided: ");
Console.ReadKey();
number01 = Convert.ToInt32(Console.ReadKey());
Console.WriteLine("Enter another number to be divided");
number02 = Convert.ToInt32(Console.ReadKey());
Console.WriteLine("The result is: " + Number03);
Console.ReadKey();
}
}
}
}
右鍵 - 現在我們把它編譯,讓我們看看你有什麼本質。
namespace Calculator
{
class Program
{
public static void Main(string[] args)
{
}
}
}
你有一個與預期static void Main
入口點命名空間稱爲Program
類。它沒有做任何事情,所以當你運行它時,沒有什麼會發生。如果您在調試器中運行它,您可能會打印出「按任意鍵繼續」。
如果你想要發生什麼,它需要代碼在你的入口點 - 默認這個Main
函數。
您已添加一些屬性到這個類,你不使用。你已經開始編寫另一個類,名爲Program1
裏面的這個類,它也繼承自這個類。
請考慮改爲撥打Calculator
,因爲這就是您要寫的內容。它不需要繼承你的主類 - 它們是無關的。在新文件中創建一個新班級更加簡單。
啓動新增類,並在其中添加屬性和其他方法,如DivideFinal
。 (?順便說你爲什麼把它叫做DivideFinal
)
namespace Calculator
{
class Calculator
{
public int number01;
public int number02;
public int Number03
{
get
{
return number02/number01;
}
}
public void DivideFinal()
{
Console.Write("Enter a number to be divided: ");
Console.ReadKey();
number01 = Convert.ToInt32(Console.ReadKey());
Console.WriteLine("Enter another number to be divided");
number02 = Convert.ToInt32(Console.ReadKey());
Console.WriteLine("The result is: " + Number03);
Console.ReadKey();
}
}
}
最後,讓我們的主要功能做一些事情:
public static void Main(string[] args)
{
var calculator = new Calculator();
calculator.DivideFinal();
}
這將導致一些錯誤,我們可以用另一種處理題。 例如,Convert.ToInt32
預計爲String
,但您要給它的結果不是字符串Console.ReadKey
。您不妨考慮使用Console.ReadLine()
:例如,請參閱question。
從我所看到的,你的'Number03'屬性在'get'訪問器之後需要另一個右括號。 – ThePerplexedOne
謝謝,我修正了這個問題。 – CoadA
看看'double',整數除法並不是特別有用。如果你做了10/3,會打印什麼? – Equalsk