【问题标题】:How can I only print the elements in 2D array that have a certain char?如何仅打印具有特定字符的二维数组中的元素?
【发布时间】:2018-07-22 04:37:06
【问题描述】:

我试图只打印第 0 行中具有 M 的那些。我尝试使用两个 for 循环,它只是保持将它们全部打印两次或全部打印一次。我永远不能只得到 MD MA ME 等。

String [][] geo = {{"MD","NY","NJ","MA","ME","CA","MI","OR",},
            {"Detroit","Newark","Boston","Seattle"}};

        for (int j = 0; j < geo[0].length; j++)
        {
            if (geo[0][j].charAt(0) == 'M');
            System.out.println(geo[0][j]);
        }
    }

【问题讨论】:

  • 您的 if 语句后面需要有一个块而不是换行符。 if (geo[0][j].charAt(0) == 'M') { System.out.println(geo[0][j]); }

标签: arrays multidimensional-array char


【解决方案1】:

if 语句后面有一个分号,因此System.out.println 语句实际上不在其中。如果没有分号,它会起作用,但您应该养成使用大括号将行包裹在 if 语句中的习惯,即使只有一个。

去掉了分号,它可以工作,但是如果你在if中添加另一个语句很容易出错

String [][] geo = {{"MD","NY","NJ","MA","ME","CA","MI","OR",},
        {"Detroit","Newark","Boston","Seattle"}};

    for (int j = 0; j < geo[0].length; j++)
    {
        if (geo[0][j].charAt(0) == 'M')
            System.out.println(geo[0][j]);
    }
}

这是明确而明确的:

String [][] geo = {{"MD","NY","NJ","MA","ME","CA","MI","OR",},
        {"Detroit","Newark","Boston","Seattle"}};

    for (int j = 0; j < geo[0].length; j++)
    {
        if (geo[0][j].charAt(0) == 'M') {
            System.out.println(geo[0][j]);
        }
    }
}

【讨论】:

  • 很好解释@Matt
【解决方案2】:

if 块代码为空,因为它的末尾有一个分号。尝试删除它或使用方括号将打印语句括起来。

if (geo[0][j].charAt(0) == 'M')
{
        System.out.println(geo[0][j])
}

【讨论】:

    【解决方案3】:

    所以我观察了代码,问题似乎出在 if 语句上……这是工作代码:

            public static void main (String[] args) throws java.lang.Exception
                 {
        String [][] geo = {{"MD","NY","NJ","MA","ME","CA","MI","OR",},
               {"Detroit","Newark","Boston","Seattle"}};
    
            for (int j = 0; j < geo[0].length; j++)
        {
            if (geo[0][j].charAt(0) == 'M'){
            System.out.println(geo[0][j]);
    }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多