我最近开始了我的教育软件工程,我们正在学习Java的基础知识......我们必须创建一个简单的基于文本的机场游戏,我遇到了一些麻烦。
我已经尝试了谷歌和SOF搜索功能,但发现了许多“解决方案”;似乎没有解决我的问题。所以原谅我的“noob”qeustion:P
在游戏中,我们有几个机场,每轮产生一个随机数量的乘客,最少100个,最多999个。为此,我使用了以下代码...哪个有效,并没有给我任何错误但我仍然得到100以下的随机结果。我做错了什么?就像我说我尝试了很多不同的方式,但它似乎忽略了我的if / if else条件......
int paxGenerator;
public int getPaxGenerator() {
return this.paxGenerator = (int) (Math.random() * 1000);
}
public void setPaxGenerator(int paxGenerator) {
if (paxGenerator<100) {
this.paxGenerator = 100;
} else if (paxGenerator > 999) {
this.paxGenerator = 999;
}
}
编辑:
return this.paxGenerator = (int) (Math.random() * 900) + 100;
确实解决了我的问题,thx @ user43219然而,为了学习;谁能给我一个如何正确实现if else语句的例子?因为我想创建12个新对象,所有这些都必须生成不同的随机数。如果我将随机代码放在getter / setter之外,它每次都给我相同的数字......并且if else语句甚至不允许在getter / setter之外......请记住我是初学者所以事情对我来说不是那么明显:P thx提前!
答案 0 :(得分:1)
如果你有一个&#34;地板&#34;在100名乘客中,我个人会避免所有复杂的逻辑,只需使用this.paxgenerator = (int)(Math.random()*900)+100;
(int)(Math.random()*x)
将生成从0到x-1的数字。
答案 1 :(得分:1)
你没有打电话给你的二传手。这一行:
@media print {
.header, .footer {
display:none;
}
.header_print, .footer_print {
display: block;
}
不隐式调用return this.paxGenerator = (int) (Math.random() * 1000);
- 它绕过setter并直接设置属性值。
答案 2 :(得分:0)
您可以使用<script type="text/javascript">
$.getJSON('@Url.Action("StatistikaJson")', function (result)
{
new Morris.Line({
element: 'line-example',
data: $.parseJSON("[" + result.data + "]"),
xkey: result.xkey,
ykeys: result.ykey,
labels: result.labels
});
});
</script>
课程。
Random