Java:存储到内存+数字

Kar*_*rem 0 java

我有一个功能:

private void fixTurn(int turn)
Run Code Online (Sandbox Code Playgroud)

然后我有:

  memory1 = memory1 + count;
Run Code Online (Sandbox Code Playgroud)

现在,我想,如果转为2,它应该:

  memory2 = memory2 + count;
Run Code Online (Sandbox Code Playgroud)

我试过这个:

  memory + turn = memory+turn + count;
Run Code Online (Sandbox Code Playgroud)

但是,如果我只是使用if语句,它是否会起作用?

Jon*_*eet 7

不,你应该使用某种形式的集合,而不是有几个单独的变量.例如,您可以使用数组:

memory[turn] += count;
Run Code Online (Sandbox Code Playgroud)


Mic*_*rdt 5

变量名中的数字索引通常是要避免的.

想要通过索引访问这些变量通常是新手程序员没有得到数组点的标志 - 因为数组就是这样,一堆可以通过索引访问的变量:

memory[turn] = memory[turn] + count;
Run Code Online (Sandbox Code Playgroud)

或者,更短(使用复合赋值运算符):

memory[turn] += count;
Run Code Online (Sandbox Code Playgroud)