gpt4 book ai didi

java - 如何计算我的类变量的总和?

转载 作者:行者123 更新时间:2023-12-01 17:07:25 25 4
gpt4 key购买 nike

我有一个类“Level”,我正在用 java 进行编码,但它可以是任何面向对象的语言。

在那个类中,我有 2 个静态变量:

int ID;
int STARSREWARD;

在游戏过程中,玩家每次完成一个关卡,都会获得一定数量的星星奖励,具体数量由 STARSREWARD 的值决定。

例如:

  • 对于 1 级,STARSREWARD=1
  • 对于 2 级,STARSREWARD=3
  • 对于 3 级,STARSREWARD=2

等等

在我的代码中,每当玩家开始一个关卡时,我都会设置 STARSREWARD 的值,即当玩家只开始玩第 1 关时,不会设置第 10 级的 STARSREWARD 值。但是,每个 STARSREWARD 值都是静态的并且已经是写在代码中。

有没有办法直接计算各级星星总数的总和?在我的例子中,它是 1 + 3 + 2 = 6。

最佳答案

将这些 STARSREWARD 值存储在数组中是最有意义的。这将使访问每个级别STARSREWARD变得容易,您只需循环遍历数组并将所有值相加即可获得所有级别的星星总数。

static int[] STARSREWARDS = new int[numLevels];
STARSREWARDS[0] = 1; // level 1
STARSREWARDS[1] = 3; // level 2
STARSREWARDS[2] = 2; // level 3
// etc...

像这样访问:

// subtract 1, since the indices start at 0, and level starts at 1
STARSREWARDS[currentLevel - 1];

像这样获取总和:

int sum = 0;
for(int i = 0; i < STARSREWARDS.length; i++) {
sum += STARSREWARDS[i];
}

附加说明:如果您多次获得总和,您可以将该循环放入函数中。此外,如果在首次初始化原始级别数组后可以添加更多级别,那么您可以使用 ArrayList 代替 Array。另外,您可以创建一个函数来根据级别获取星星数量,这样您就不必担心每次获得某个级别的星星数量时都要从级别编号中减去 1(该函数将处理该问题)为你)。

关于java - 如何计算我的类变量的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887110/

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