Java 我需要关于如何用给定的随机数减去对象中的值的帮助

Java 我需要关于如何用给定的随机数减去对象中的值的帮助,java,object,random,numbers,Java,Object,Random,Numbers,我需要有关如何在生成随机数(num)时减去对象中的值(25)的帮助。我已经在下面编写了代码,但在最后一行中似乎有问题 StickBag s1 = new StickBag(25); int randNum = 1 + (int)(Math.random()*2); int num = 1 + (int)(Math.random()*11); for(int i = 0; i < 25 ; i++) { if(randNum == 1)

我需要有关如何在生成随机数(num)时减去对象中的值(25)的帮助。我已经在下面编写了代码,但在最后一行中似乎有问题

StickBag s1 = new StickBag(25);

int randNum = 1 + (int)(Math.random()*2);

int num = 1 + (int)(Math.random()*11);

for(int i = 0; i < 25 ; i++)
        {   

        if(randNum == 1)
        {
            System.out.println("Computer player 1 chooses " + num + " sticks. ");

            StickBag = StickBag - num;

        } 
StickBag s1=新的StickBag(25);
int randNum=1+(int)(Math.random()*2);
int num=1+(int)(Math.random()*11);
对于(int i=0;i<25;i++)
{   
如果(randNum==1)
{
System.out.println(“计算机播放器1选择“+num+”棒”);
StickBag=StickBag-num;
} 
例如,如果生成的随机数为5,则我的对象(25)中的总值将减去随机生成的值(5),因此我的对象中的值将为20


我希望我已经把线路的问题讲清楚了

        StickBag = StickBag - num;
StickBag是一个类的名称。实际上,您希望引用该类的实例

在您的程序中,有一个名为
s1
的StickBag实例。因此,您可能需要编写如下内容:

        s1.stickCount = s1.stickCount - num;
        gameBag.stickCount -= playerMove;
假设
stickCount
是StickBag类的一个公共属性,当您执行
new StickBag(25)
时,它被初始化为值25

我建议您将
s1
重命名为更具表现力的名称,例如
gameBag
。这可能不适合您的特定概念,但无论如何,请尝试使用文字,而不是单个字母和数字

另外,
num
非常模糊,可以重命名为更具体的名称,例如
playerMove
。您可能需要使用
-=
运算符执行减法。如果您应用我的所有三个建议,该行将如下所示:

        s1.stickCount = s1.stickCount - num;
        gameBag.stickCount -= playerMove;
如果
stickCount
是私有的,您必须使用
getStickCount()
访问其值,并使用
setStickCount()
设置其值,您将编写以下代码

        gameBag.setStickCount(gameBag.getStickCount() - playerMove);
请注意,在这种情况下,您不能使用
-=
运算符。(一些编程哲学坚持使用getter/setter,而其他编程哲学则不这么做。争论与这个问题无关,您可以在其他地方找到大量关于它的资料。)

s1.setValue(s1.getValue()-num);//StickBag的
s1
实例中属性
值的getter setter。