java - 方法只返回一次值(Greenfoot)
问题描述
在我的代码中调用方法时遇到问题(调用正确的词吗?希望如此。)它将返回正确的变量,该变量是 0 到 10 之间的数字,但在循环中再次运行它后,它总是返回相同的数字,即使它应该返回的变量发生了变化。
我的代码:
public class Digit1 extends Digits
{
static int iam = 1;
public void act()
{
setImage(getDigit(iam) + ".png");
}
}
请注意,在 Greenfoot 中,每滴答声都会运行 act() (滴答声正确吗?它无论如何都会循环。)
我的方法不会返回正确的数字:
public int getDigit(int heis)
{
if (heis > digits)
return 10;
else
{
switch(heis)
{
case 1:
return m1;
default:
return 10;
}
}
}
还有更多情况,但我的问题只涉及 heis = 1。m1 将是 0 - 9 之间的数字,随着代码运行随机变化。然而 getDigit(iam) 似乎只会返回代码开始运行时的样子。我究竟做错了什么?
编辑:所以我对 m1 的变化有点撒谎。它会但还不是正确的。现在它被设置为一个数字,并且一次向下计数 1。如果我将它设置为 5,getDigit(iam) 返回 5,但稍后当 m1 = 1 时,getDigit(iam) 仍然返回 5。
解决方案
推荐阅读
- mongodb - Mongodb分片测试
- python - 文件加载错误:可用 1.7TB 存储空间不足
- java - 如何用 mockito 抛出 JsonProcessingException
- winforms - 共享文件夹上的program.exe,如何关闭它?
- flutter - Flutter ChangeNotifierProvider 参数 'update' 是必需的
- docker - Docker、Maven 和 settings.xml
- php - json_decode - 解码标准 JSON 代码不起作用
- c++ - 写入 0000057C ollydbg 时访问冲突
- scala - 如何在多个字段上动态排序scala列表
- java - 使用 BufferedReader 在 Java 中过早的 EOF 异常