繁体   English   中英

使用来自文本文件的字符输入填充二维数组

[英]Populating a 2D array with char inputs from a text file

我想要这个文本

C BAB

BNOD

MDEE

并填充一个二维数组。 我可以用这段代码打印出数组,但它是空的,因为我不知道在我注释掉的行中放什么。 所以它只是打印出 [[, , , , ],[, , , , ],[, , , , ]] 因为我已经得到了数组的大小。

char[][] wordMatrix = new char[m][n];
            while(scan.hasNext()) {
                for(int i = 0; i < wordMatrix.length;i++) {
                    String[] line = scan.nextLine().trim().split(" ");
                    for (int j = 0; j <line.length;j++) {
                        //wordMatrix[i][j]= Char.parseChar(line[j]);        
                    }//end j for loop
                }//end i for loop   
                System.out.println(Arrays.deepToString(wordMatrix));
            }//end while loop

当您向数组中添加某些内容时,请确保它是一个字符而不是字符串。 这是使用字符串数组的解决方案。 您可以将其调整为使用扫描仪。

  • String.charAt()获取指定索引处的字符。 在这种情况下0
  • \\s+拆分一个或多个空白字符。
String[] s = { "C B A B", "B N O D", "M D E E" };

int m = 3;
int n = 4;
char[][] wordMatrix = new char[m][n];
for (int i = 0; i < s.length; i++) {
    String[] line = s[i].trim().split("\\s+");
    for (int j = 0; j < line.length; j++) {
        wordMatrix[i][j] = line[j].charAt(0);
    } // end j for loop
} // end i for loop
System.out.println(Arrays.deepToString(wordMatrix));

印刷

[[C, B, A, B], [B, N, O, D], [M, D, E, E]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM