循环并保持计数

时间:2016-11-22 21:50:40

标签: java loops

我希望这种方法称为" 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.");

   }

   }

2 个答案:

答案 0 :(得分:1)

我想你创建了包含roll()方法方法的类的多个实例。因为否则,在相反的情况下(类的单个实例),在每次调用之后将修改spacePoints值。
因此,要解决您的问题,您应该只在同一个实例上调用roll(),这样,与同一个实例关联的spacePoints将会在调用之间更新。

MyObject obj = new MyObject();
obj.roll();
obj.roll();
obj.roll();

答案 1 :(得分:0)

您的问题有点不清楚,正如@ John3136所述,但我打赌您需要阅读有关static关键字的更多信息并了解class members