问题出现在第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