gpt4 book ai didi

java - 我需要有关如何使用给定的随机数减去对象中的值的帮助

转载 作者:行者123 更新时间:2023-11-29 05:14:31 25 4
gpt4 key购买 nike

我需要有关如何在生成随机数 (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;

}

例如如果生成的随机数是 5,那么我的对象中的总值 (25) 将减去随机生成的值 (5),因此我的对象中的值为 20

我希望我已经说清楚了

最佳答案

线路问题

        StickBag = StickBag - num;

就是StickBag是一个类的名字。您实际上想要引用该类的一个实例。

在您的程序中,您有一个名为 s1 的 StickBag 实例。因此,你可能想写的是这样的:

        s1.stickCount = s1.stickCount - num;

这是假设 stickCount 是类 StickBag 的公共(public)属性,并且当您执行 new StickBag(25) 时它被初始化为值 25 .

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

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

        gameBag.stickCount -= playerMove;

如果 stickCount 是私有(private)的并且您必须使用 getStickCount() 访问它的值并使用 setStickCount() 设置它的值,您将写下以下内容。

        gameBag.setStickCount(gameBag.getStickCount() - playerMove);

请注意,在这种情况下,您不能使用 -= 运算符。 (一些编程哲学坚持使用 getters/setters 而其他人则不这样做。争论与这个问题无关,你可以在其他地方找到大量关于它的 Material 。)

关于java - 我需要有关如何使用给定的随机数减去对象中的值的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27053208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com