来自文件的Java多数组

来自文件的Java多数组,java,arrays,Java,Arrays,我一直在尝试让程序运行时遇到问题。数组中的第一行被设置为空,它将继续推出数组中的最后一行 Scanner console = new Scanner(System.in); System.out.println("please enter the file name"); String name = console.next(); Scanner input = new Scanner(new File(name)); int length = input.nextInt();

我一直在尝试让程序运行时遇到问题。数组中的第一行被设置为空,它将继续推出数组中的最后一行

Scanner console = new Scanner(System.in);
System.out.println("please enter the file name");
String name = console.next();
Scanner input = new Scanner(new File(name));        

int length = input.nextInt();
int lengt = input.nextInt();

char[][] array = new char[length][lengt];

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

for(int k = 0; k < array.length; k++){
    for(int s = 0; s < array[k].length; s++) {
        System.out.print(array[k][s]);
    }
    System.out.println();
}

input.close();
System.out.println();
扫描仪控制台=新扫描仪(System.in);
System.out.println(“请输入文件名”);
字符串名称=console.next();
扫描仪输入=新扫描仪(新文件(名称));
int length=input.nextInt();
int lengt=input.nextInt();
字符[][]数组=新字符[长度][长度];
for(int i=0;i
尝试添加行
input.nextLine()按如下方式添加到您的代码:

int length = input.nextInt();
int lengt = input.nextInt();
input.nextLine();
char[][] array = new char[length][lengt];

我相信现在发生的事情是,你正在阅读
int
,以获得
长度和
长度,但你正在离开该行的其余部分。调用
array[i]=input.nextLine().tocharray()时
第一次用
长度和
长度推动其余部分或线条时。因为这是
for
循环中的第一行,所以您没有在最后一行进行迭代。

您可以包括文件的前几行吗?很好,下面是如何将其标记为已接受的答案: