java - if/else if 内部 getter/setter Java

标签 java

我最近开始了我的软件工程教育,我们目前正在学习 Java 的基础知识...我们必须创建一个简单的基于文本的机场游戏,但我遇到了一些麻烦。

我已经尝试过google和SOF搜索功能,但发现了很多“解决方案”;似乎没有一个能解决我的问题。所以请原谅我的“菜鸟”疑问: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 提前谢谢!

最佳答案

您没有调用您的二传手。该行:

return this.paxGenerator = (int) (Math.random() * 1000);

是否隐式调用setPaxGenerator() - 它绕过setter并直接设置属性值。

关于java - if/else if 内部 getter/setter Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33371320/

相关文章:

java - 在 myBatis <association> 中传递多个列

java - 使用Java 8安装RichTextFX时发生Gradle错误

java - 回收 ImageViews 以避免 OutOfMemoryError

Java如何启动CMD并与其保持连接以进行用户交互?

java - HttpClient执行时出现org.apache.http.client.ClientProtocolException

java - 使用 KeyBindings Java 停止暂停键保持

java - 将 xml 代码解码为 Java 对象的最佳方法?

java - 使对象同时运行

java - gson 自定义将 json 键转为字符串

java - 适用于 Java 的 GAE Google App Engine Captcha(无第 3 方)