在我的代码中调用方法时遇到麻烦(正在调用正确的单词吗?希望如此。)它将返回正确的变量,该变量是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)似乎只会返回代码开始运行时的状态。我在做什么错了?
编辑:所以我 kinda 撒谎说m1发生了变化。它将但尚未正确。现在,它被设置为一个数字,并且一次向下计数1。如果将其设置为5,则getDigit(iam)返回5,但稍后当m1 = 1时,getDigit(iam)仍返回5。