問題出現在第3行,我需要拿走1-3之間的一個數字並保存值,以便將更多的數據帶走。如何從int中除去值? C#
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = life - randomNumberhit;
Console.WriteLine(life);
任何想法?我完全錯了嗎?
問題出現在第3行,我需要拿走1-3之間的一個數字並保存值,以便將更多的數據帶走。如何從int中除去值? C#
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = life - randomNumberhit;
Console.WriteLine(life);
任何想法?我完全錯了嗎?
您正在做life-randomNumberhit
,但在那時您的變量life
尚不存在。你應該初始化變量life
你想要的任何值:
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = 0; // for instance, 0
Console.WriteLine(life - randomNumberhit);
這並不拯救新的生命價值回到生活變量。 – Cemafor 2013-04-22 21:20:16
生活需要被initalized的東西
int life = 100; //Or some other value
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);
還要注意的是,當生活被重新分配不需要(life = life - randomNumberhit;
)整型。
您聲明變量life
併爲其指定值life - randomhit
。如果life
還沒有價值,你怎麼能知道計算結果?
嘗試這樣:
int life = 100;
...
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);
但是,您可能希望life
類變量來代替。像這樣的東西可以工作:
public class MyGuy
{
public int Life { get; set; }
public MyGuy()
{
this.Life = 100; // starting life
}
public void Hit()
{
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
this.Life -= randomNumberhit;
Console.WriteLine(this.Life);
}
}
工作出色,謝謝。 – 2013-04-22 21:22:15
@LinkMartin如果它適合您,請選擇接受的答案。這目前看起來像一個沒有答案的問題。 – lal 2016-05-07 08:07:57
問題是什麼? – Kenneth 2013-04-22 21:17:48
假設你的'randomNumberhit'是5,打印的是什麼'life'? – 2013-04-22 21:18:06
這是什麼問題?你是否收到錯誤信息? – McCee 2013-04-22 21:18:12