这是代码,
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int k=0,flag=0;
int testCases= sc.nextInt();
int rows = sc.nextInt();
int coloumns = sc.nextInt();
char[][] array= new char[rows][coloumns];
String[] s1 = new String[rows];
String abc = sc.nextLine();
for(int i=0;i<rows;i++)
{
s1[i]=sc.nextLine();
}
for(int i=0;i<rows;i++){
char[] rowArray=s1[i].toCharArray();
for(int j=0;j<coloumns;j++)
{
array[i][j]=rowArray[k];
k++;
}
}
提供的输入是:1
3 3
aba
xyz
pdb
//然后显示异常
线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:3
在Trail.possible_String.main(possible_String.java:30)
C:\ Users \ DuckyMater \ AppData \ Local \ NetBeans \ Cache \ 8.2 \ executor-snippets \ run.xml:53:Java返回:1
BUILD FAILED(总时间:17秒)
因为您没有重置变量k的值。它超出了2,这就是为什么要获取ArrayIndexOutOfBoundsException
尝试以下修改:
for (int i = 0; i < rows; i++, k=0) {
char[] rowArray = s1[i].toCharArray();
for (int j = 0; j < coloumns; j++) {
array[i][j] = rowArray[k];
k++;
}
}