gpt4 book ai didi

java - 在 Java 中更改方法范围之外的变量

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

因此,我尝试更改最小和最大猜测的值(实际猜测由随机数生成器进行),以阻止程序两次猜测相同的数字。

我有一个方法可以进行猜测,但也尝试设置最低和最高猜测,然后在再次使用该方法时更改该猜测

public static int takestab (int low, int high) {  
int estimate;
estimate = (low + (int)(Math.random() * ((high - low) + low)));

if (estimate < number) {
lowestguess = estimate;
}
else if (estimate > number) {
highestguess = estimate;
}
return estimate;
}

此外,这些是我在方法范围之外的变量:

    int lowestguess = 1;
int highestguess = 100;

因此,通过运行该方法,猜测可能是 50,而实际数字可能是 60。如果是这种情况,那么“lowestguess”将变为 50,以便该函数无法猜测任何低于 50 的数字。

当我这样尝试时,cmd提示说找不到匹配的符号。

有什么想法吗?

最佳答案

问题是 lowestguess 是一个实例变量,但您尝试通过静态方法访问。

选项

  • 将 lowerGuess 作为非基元(对象)传递给该方法。
  • 使用非静态方法
  • 使 lowerGuess 保持静态

通过最低猜测

示例:

public static int takestab(int low, int high, Integer Lowest)

这还允许您对最低值进行更改,因为它是通过引用

非静态方法

将方法更改为public int taketab(int low, int high)

将 LowestGuess 更改为静态

在多线程环境中使用此选项时应小心。

<小时/>

参见:

<小时/>

最后,如果您在 Eclipse 等 IDE 中进行编程,则会出现错误突出显示,这样的错误会更快地变得明显。

关于java - 在 Java 中更改方法范围之外的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18898701/

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