if / else如果在getter / setter Java中

时间:2015-10-27 14:57:28

标签: java

我最近开始了我的教育软件工程,我们正在学习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提前!

3 个答案:

答案 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