我正在嘗試編寫一個簡單的計算器,但閱讀和收聽不同的教程,我應該遵循OOP方法。試圖讓我的所有代碼都不在按鈕點擊方法中,我認爲合理的方法是以一種形式進行所有計算,例如添加除法,百分比,form1類將變量值傳遞到所有邏輯發生的計算類。但出於某種原因,總數總是等於我最後輸入的數字,而不是總數+總數。任何幫助表示讚賞。將變量傳遞給另一個類,執行一個計算然後將其傳遞迴
namespace calculator
{
public partial class calculator : Form
{
public calculator()
{
InitializeComponent();
}
private void btnInput_Click(object sender, EventArgs e)
{
Calculations calculations = new Calculations();
calculations.total = Convert.ToInt32(txtPrice.Text);
calculations.GetPrice();
displayBox.Text = Convert.ToString(calculations.total);
}
}
}
計算類
class Calculations
{
public int total;
public int GetPrice()
{
total =+ total;
//See whats being stored in total
String totalCheck = Convert.ToString(total);
System.Windows.Forms.MessageBox.Show(totalCheck);
return total;
}
}
您每次單擊按鈕時都會創建一個新的'Calculations'類。所以沒有辦法參與以前的價值。這並不意味着什麼,因爲您每次都直接從用戶輸入設置「total」字段,即使您只保留一個實例,也會覆蓋之前的值。無論如何,這個設計並不是非常有用,但是如果你想繼續下去,可以考慮在運行總量中保留一個字段,併爲操作提供方法,在那裏你傳入的值被加,減,分,乘等等。 –
彼得你好。你能給出更多的背景知道你想要計算什麼嗎?此外,您在此處發佈的計算課程是否已完成?因爲我看不出爲什麼會這樣編譯;您正在計算器表單中使用「calculate.totalPrice」,但該屬性在發佈的Calculations類中不存在。 – rqnn
嗨,這是完整的代碼,我只是想在我添加更多的按鈕之前得到這個工作。唯一缺少的是使用系統語句。總價格應該是全部。 –