[英]Simple C# Calculator with Properties
我知道該計算器的編寫過程比我寫的要簡單得多,但是我想了解它不能按我編寫的方式與Properties一起工作的原因。 我在一本書中讀到可以省略“設置”訪問器的信息,但這樣做時會遇到更多錯誤。 我也收到Main方法錯誤。 任何幫助,將不勝感激。 行1(CS5001),9(CS5113)和26(CS0161)。
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 int 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();
}
}
}
}
您省略了兩個右花括號,並聲明函數返回一個int
,而該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)
{
}
}
}
您在名稱空間中有一個名為Program
的類,該類具有預期的static void Main
入口點。 它什么也沒做,所以當您運行它時,什么也不會發生。 如果在調試器中運行它,則可能會顯示“按任意鍵繼續”。
如果您希望發生某些事情,則它需要在您的入口點添加代碼-默認情況下,此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();
}
}
}
最后,讓main函數執行以下操作:
public static void Main(string[] args)
{
var calculator = new Calculator();
calculator.DivideFinal();
}
這將導致一些錯誤,我們可以在另一個問題中解決。 例如, Convert.ToInt32
需要一個String
但您給它的結果不是字符串的Console.ReadKey
。 您可能希望考慮使用Console.ReadLine()
:例如,請參見此問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.