下面是我的代码:
public int maxTurns = 0;
public String[][] bombBoard = new String[9][9];
...
public void loadBombs()
{
//loadArray();
Random randomGen = new Random();
for (int u=1; u<=9; u++)
{
int randomRow = randomGen.nextInt(9);
int randomCol= randomGen.nextInt(9);
bombBoard[randomRow][randomCol] = "@";
}
//counting @'s -- setting variable
for (int d = 0; d < bombBoard[bombRow].length; d++)
{
for (int e = 0; e < bombBoard[bombCol].length; e++)
{
if (bombBoard[d].equals("@") || bombBoard[e].equals("@"))
{
maxTurns++;
}
}
}
我想做的就是计算多维数组中 (@) 的数量并将其分配给名为 maxTurns 的变量。
可能很简单,只是今晚遇到了 super 困难。离开 Java 的时间太多>.<
最佳答案
此行将字符 @
等同于整个 dth
行或 eth
行。实际上没有意义,因为数组行不能等于单个字符。
if (bombBoard[d].equals("@") || bombBoard[e].equals("@"))
相反,像这样访问单个单元格
if (bombBoard[d][e].equals("@"))
并在计数之前(即在 for 循环之前)初始化 maxTurns
:
maxTurns = 0;
关于java - 计算多维数组中的字符数,Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992258/