gpt4 book ai didi

java - 刷新 Java 参数

转载 作者:行者123 更新时间:2023-12-03 22:59:01 25 4
gpt4 key购买 nike

我正在为一个名为 robocode 的编程游戏编写程序。问题出在这里:

    void wallScan(boolean While){
stop();
getStraight();
turnGunRight(90);
if(startabsolute){
straight=true;
}
while (While){
ahead(10000000);
turnRight(90);
}
resume();
}

您可能不理解大部分代码,因为它扩展了 robocode.Robot,但我的问题出在变量 While 中。循环不会结束,因为该方法只获取一次参数,它是真的,所以该方法变成了一个永恒的循环,但是有没有办法刷新方法参数,因为我不想每次调用它时都进行 while 循环方法?

最佳答案

你不应该用大写字母写你的参数。所以它会是 while 而不是 While。但是这是不允许的,因为 while 是关键字。因此,首先更改方法中传递的参数。

那么你的问题是,你调用带有参数的方法。由于它是您传递的原始 boolean 值,因此在执行 wallScan 方法期间无法通过其他方法、调用、类等更改该值,因此 while 循环永远不会结束。

相反,您应该在包含此方法的类中创建一个成员字段,并为其提供一种有意义的方式。在示例中,我只是将其称为 whileCondition。

void wallScan(){
stop();
getStraight();
turnGunRight(90);
if(startabsolute){
straight=true;
}
while (whileCondition()){
ahead(10000000);
turnRight(90);
}
resume();
}



public void setWhileCondition(boolean bool) {
whileCondition = bool;
}

public boolean isWhileCondition() {
return whileCondition;
}

因此您可以在方法外部设置导致 while 循环终止的条件。

关于java - 刷新 Java 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3155503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com