Java 我需要关于如何用给定的随机数减去对象中的值的帮助
我需要有关如何在生成随机数(num)时减去对象中的值(25)的帮助。我已经在下面编写了代码,但在最后一行中似乎有问题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)
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。