将一维字符串数组转换为二维字符数组

2022-01-12 00:00:00 string arrays char java

我正在开发一个程序,该程序需要我从文件中获取一维字符串数组并将其转换为二维数组.从文件中获取数组工作正常,但我无法让第二部分工作.

I'm working on a program that requires me to take in a 1-D String array from a file and turn it into a 2-D array. Taking in the array from the file works fine, but I can't get the second part to work.

我正在使用的代码是:

char[][] array2 = new char [7][5];

for (int i = 0; i < array1.length; i++)
{
    array2[i]= array[i].toCharArray();   
}

for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 7; j++)
    {
         System.out.println(array2[i][j]);
    }
}

该数组应该以网格格式打印,但正在向下打印.

The array is supposed to print in a grid format, but is printing downward.

感谢任何帮助,谢谢.

推荐答案

在内循环中使用 print 而不是 println 并且在每个循环之后打印一个带有 println.

Use print instead of println in inner loop and after each loop print a blank line with println.

for (int i = 0; i < 7; i++) // see changes 5/7. You did "new char[7][5]" not [5][7]
{
    for (int j = 0; j < 5; j++) // see changes 7/5
    {
         System.out.print(array2[i][j]);
    }
    System.out.println();
}

更新:

下面是一个将字符串数组转换为二维字符数组的程序.

Following is a program that convert String array to 2D char array.

public class StringToChar {
    public static void main(String[] args) {
        String[] strArr = { "HELLO", "WORLD" };
        char[][] char2D = new char[strArr.length][];

        for (int i = 0; i < strArr.length; i++) {
            char2D[i] = strArr[i].toCharArray();
        }

        for (char[] char1D : char2D) {
            for (char c : char1D)
                System.out.print(c + " ");

            System.out.println();
        }
    }
}

相关文章