我希望这种方法称为" roll"倒数我的名为" spacePoints"每次都叫它。然而,它起作用,每次从100开始。我需要它从每次调用方法时的点开始。
int spacePoints = 100;
public void roll (){
pointsRolled = ((int) (Math.random() * 10)+ 1);
if (pointsRolled % 3 ==0){
System.out.println("You must fight!!!");
} else {
spacePoints = spacePoints- pointsRolled;
System.out.println("You have " + spacePoints + " to go.");
}
}
答案 0 :(得分:1)
我想你创建了包含roll()
方法方法的类的多个实例。因为否则,在相反的情况下(类的单个实例),在每次调用之后将修改spacePoints
值。
因此,要解决您的问题,您应该只在同一个实例上调用roll()
,这样,与同一个实例关联的spacePoints
将会在调用之间更新。
MyObject obj = new MyObject();
obj.roll();
obj.roll();
obj.roll();
答案 1 :(得分:0)
您的问题有点不清楚,正如@ John3136所述,但我打赌您需要阅读有关static关键字的更多信息并了解class members。