【问题标题】:How to store characters in a 2D character array如何将字符存储在二维字符数组中
【发布时间】:2017-07-24 19:45:29
【问题描述】:

我正在尝试创建一个存储字符值的二维数组,但我一直遇到错误。这是我到目前为止的代码。

public static void main(String[] args) {
        char[][] text;
        text = new char[20][45];

        // Enter your message into the array

        char text[][] = {{A, ,b,i,g, },{d,o,g, ,a,t,e},{ ,a, ,p,i,g}};

        java.util.Scanner input = new Scanner(System.in);
        for (char column = 0; column < text[0].length; column++) {
            for (char row = 0; row < text.length; row++) {
                System.out.println(text[row][column] + " " );

            }
            System.out.println();
        }
    }

}

我还尝试按列主要顺序打印值。如何让这个二维数组存储字母?当我将字母放入数组时,我收到一条错误消息:“A 无法解析为变量,b 无法解析为变量,等等。”如何设置数组以便它可以存储这些值而不会导致错误?

【问题讨论】:

  • 这些是编译器正在捕获的基本语法错误。您需要将字符放在单引号中,否则编译器会尝试将它们解析为变量名。

标签: java arrays multidimensional-array


【解决方案1】:

感谢 cmets 中的@Kon 快速回答: 字符需要在其周围加上引号。如果我执行

char[][] text;
text = new char[20][45];
char text[][] = {{h, i},{ ,b , o ,b}};

首先,我已经收到错误Duplicate local variable text,因为您定义了两次文本:一次是您说char[][] text;,另一次是您说char text[][] =。假设您修复了该问题并输入了正确的代码,您仍然会遇到问题:
您没有正确的字符下一次,这样做

{{'h', 'i'}, {' ', 'b', 'o', 'b'}}

而不是

{{h, i}, { , b, o, b}}

【讨论】:

  • ahem 字符的单引号
  • 哎呀!抱歉,我必须快速执行此操作,所以我不小心输入了双引号
猜你喜欢
  • 2020-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 2011-07-04
相关资源
最近更新 更多