Java,矩阵溢出
它不是出于某种原因编译的。我是java新手,我正在努力学习这一点。我不知道这个程序出了什么问题。至少有人能给我指出正确的方向吗 通信错误: 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:3 在Matrix.main(Matrix.java:17)Java,矩阵溢出,java,arrays,matrix,int,overflow,Java,Arrays,Matrix,Int,Overflow,它不是出于某种原因编译的。我是java新手,我正在努力学习这一点。我不知道这个程序出了什么问题。至少有人能给我指出正确的方向吗 通信错误: 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:3 在Matrix.main(Matrix.java:17) import java.util.Scanner; 公共类矩阵{ 公共静态void main(字符串[]args){ 扫描仪数据=新扫描仪(System.in); 最终整数w=3,k=2
import java.util.Scanner;
公共类矩阵{
公共静态void main(字符串[]args){
扫描仪数据=新扫描仪(System.in);
最终整数w=3,k=2;
int[]x={//Tworzy表4x3(3x2,bo a1=[0,0])
{1,12,3},//x[0,0]=1x[0,1]=12x[0,2]=3
{45,4,1,0},//x[1,0]=45x[1,1]=4x[1,2]=1x[1,3]=0
{2,3}//x[2,0]=2x[2,1]=3
};
int[][]matX=newint[w][k];//制表符[w,k]
对于(int i=0;i您正在使用长度w
作为matX
的索引,该索引本身是无效的索引。更改
j<matX[w].length
j尝试在循环中使用matX[i]
而不是matX[w]
,以下是一些代码:
import java.util.Scanner;
public class Matrix { public static void main(String[] args) {
Scanner data = new Scanner(System.in);
final int w=3,k=2;
int[][] x = { //Tworzy tablice 4x3 (3x2, bo a1=[0,0])
{1,12,3}, //x[0,0]=1 x[0,1]=12 x[0,2]= 3
{45,4,1,0}, //x[1,0]=45 x[1,1]=4 x[1,2]= 1 x[1,3]=0
{2,3} //x[2,0]=2 x[2,1]=3
};
int[][] matX = new int[w][k]; //tab[w,k]
for(int i=0 ; i<matX.length ; i++) {
for(int j=0 ; j<matX[i].length ; j++) {
matX[i][j] = data.nextInt();
}
}
for(int i=0 ; i<matX.length ; i++) {
for(int j=0 ; j<matX[i].length ; j++) {
System.out.println(matX[i][j]);
if(j==matX[i].length-1) {
System.out.println(System.lineSeparator());
}
}
}
data.close();
}
import java.util.Scanner;
公共类矩阵{public static void main(字符串[]args){
扫描仪数据=新扫描仪(System.in);
最终整数w=3,k=2;
int[]x={//Tworzy表4x3(3x2,bo a1=[0,0])
{1,12,3},//x[0,0]=1x[0,1]=12x[0,2]=3
{45,4,1,0},//x[1,0]=45x[1,1]=4x[1,2]=1x[1,3]=0
{2,3}//x[2,0]=2x[2,1]=3
};
int[][]matX=newint[w][k];//制表符[w,k]
对于(int i=0;它无处不在。它就在我们身边。即使现在,在这篇文章中。当你打开电脑并登录Stackoverflow时,你可以看到它。当你上学时,当你去做作业时,你可以感觉到它。是这个世界蒙住了你的眼睛,让你看不到真相。你是一个奴隶的真相etzo.和其他人一样,你生来就是被束缚的。被囚禁在一个你尝不到、看不见、摸不着的监狱里。被囚禁在你思想的监狱里。这就是你的程序出了什么问题。那就是,还有杰特曼发布的。
j<matX[i].length
import java.util.Scanner;
public class Matrix { public static void main(String[] args) {
Scanner data = new Scanner(System.in);
final int w=3,k=2;
int[][] x = { //Tworzy tablice 4x3 (3x2, bo a1=[0,0])
{1,12,3}, //x[0,0]=1 x[0,1]=12 x[0,2]= 3
{45,4,1,0}, //x[1,0]=45 x[1,1]=4 x[1,2]= 1 x[1,3]=0
{2,3} //x[2,0]=2 x[2,1]=3
};
int[][] matX = new int[w][k]; //tab[w,k]
for(int i=0 ; i<matX.length ; i++) {
for(int j=0 ; j<matX[i].length ; j++) {
matX[i][j] = data.nextInt();
}
}
for(int i=0 ; i<matX.length ; i++) {
for(int j=0 ; j<matX[i].length ; j++) {
System.out.println(matX[i][j]);
if(j==matX[i].length-1) {
System.out.println(System.lineSeparator());
}
}
}
data.close();
}