java - 计算多维数组中的字符数,Java

标签 java arrays multidimensional-array counter

下面是我的代码:

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/

相关文章:

java - 在java方法中从数据库返回数据数组

Javascript 数组和对象/类

python - 检查另一个字符串中是否存在多个字符串

numpy - 打乱二维数组的行组 - NumPy

java - 骡子 : Mule Studio: Accessing Java class from Mule flow

java - Selenium webdriver 页面对象模式和 ExtentReports

c - 数组作为函数中的参数

c# - 在c#中初始化多维对象数组

c++ - 特征库中的多维数组

java - 无法将 json 数据添加到 ArrayList 中