2014-11-03 142 views
-3

所以啊,我想要做這樣的事情重複多次計算

aNum = Console.ReadLine(); 
nNUm= Console.ReadLine(); 

於是我想重複ANUM * ANUM只要心不是nNum 0或less.Is有什麼辦法能做到這一點(nNum> 0)時,我試着做了幾件事情。但它沒有結束... 繼承人而我嘗試的東西 int aNum; int nNum; int結果;

aNum = Convert.ToInt32(textBox2.Text); 
nNum = Convert.ToInt32(textBox3.Text); 
result = aNum; 

while (nNum > 0) 
{ 
    result = result * aNum; 
    nNum = nNum - 1; 
} 


textBox1.Text = Convert.ToString(result); 
+1

你是什麼意思「不好結局」? – 2014-11-03 21:19:38

+0

嗯,我不能運行它,然後我改變了代碼,但它沒有計算得很好......我可以添加一個圖片,如果你需要看看程序實際上是什麼。 – AlexaCOl 2014-11-03 21:21:06

+0

爲什麼你不解釋它爲什麼沒有運行(你得到了什麼編譯錯誤信息),然後你期望得到什麼結果,而當你說它「沒有很好地計算它」時會得到什麼結果 – 2014-11-03 21:21:51

回答

0

改變你的代碼的東西是這樣的。

number = Convert.ToInt32(textBox2.Text); 
power = Convert.ToInt32(textBox3.Text); 

textBox1.Text = Convert.ToString(Math.Pow(number, power)); 
+0

那麼....如果這是意圖。在兩個文本框中輸入2會得到8的結果....顯然不同於2^2。 – Kaz 2014-11-03 21:27:21

+1

@Kazmatron來自OP,我知道他/她正試圖將數字本身乘以n次。這就是Exponentiation的定義,不是嗎? – HuorSwords 2014-11-03 21:29:21

+0

我們假設OP正在嘗試做一個指數計算.....但它從來沒有明確說明。 – Kaz 2014-11-03 21:31:23

-1

Winforms是基於事件的,這意味着您需要某種觸發器來執行代碼。

嘗試將您的代碼添加到textBox2_TextChanged事件。這樣,每次文本更改時,您的代碼都會進行檢查。

如果用戶輸入的文本不能正確轉換爲int,還可以使用try catch包圍轉換調用。

+0

不,我只是得到更多的錯誤 – AlexaCOl 2014-11-03 21:27:17