gpt4 book ai didi

Java动态while表达式

转载 作者:行者123 更新时间:2023-12-02 03:44:38 25 4
gpt4 key购买 nike

我在解决这个问题时遇到了一些麻烦。我有一个 while 语句,其中包含应在每个循环上求值的表达式。我觉得我的想法是错误的。

我想做的是循环表达式 experience >= experienceCap 直到它为 false。 experienceCap 在每个循环上正确设置,但 while 表达式值永远不会改变,即使这些值实际上在每个循环上发生变化。

public void refreshExperience() {
int experience = getExperience(); //10
int experienceCap = getExperienceCap(); //100

while (experience >= experienceCap) {
newExperienceCap();
refreshExperience();
}

}

这会产生一些日志输出,例如:

experience: 10
experienceCap: 100
experience: 10
experienceCap: 450
experience: 10
experienceCap: 1120
experience: 10
experienceCap: 2337

不可避免的崩溃。我非常感谢任何意见,谢谢!

最佳答案

循环值没有更新,因此令人困惑的是,在输出中它显示experienceCap增加。如果没有看到所有代码,我只能猜测您正在记录的值不是在 refreshExperiece 中声明的值。

public class Test {

int experience = 10;
int experienceCap = 100;

public void refreshExperience() {
while (experience <= experienceCap) {
experience = getExperience();
experienceCap = getExperienceCap();
}
}

上面的代码显示experienceexperienceCap分别被初始化为10和100。在循环内,这些值分别使用 getExperiencegetExperienceCap 返回的值进行更新。如何更新experienceexperienceCap取决于您,但这是一个简单的示例:

private int getExperience() {
return experience + 5;
}

private int getExperienceCap() {
return experienceCap - 10;
}

关于Java动态while表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36415075/

25 4 0
文章推荐: java - 卡在酒店销售员 Java 程序上
文章推荐: java - 如何使我的 CheckBoxTableCell 在 Javafx 中可编辑?
文章推荐: java - 从线程更新 gui(另一个类)
文章推荐: java - 将 Array 从一个 Activity 传递到另一个 Activity