我只是在学习如何在java中使用多维数组。
当我试图创建一个由用户输入的3x3矩阵时,我得到了一个错误。
import java.util.Scanner;
public class myMatrix
{
public static void main(String args[])
{
double[][] matrixOne = new double[3][3];
double[][] matrixTwo = new double[3][3];
double[][] finalMatrix = new double[3][3];
Scanner takeInput = new Scanner(System.in);
System.out.println("Enter values of matrix One");
for(int i=0;i<3;i++)
{
for(int j=0;i<3;j++)
{
matrixOne[i][j] = takeInput.nextDouble();
}
}
System.out.println("Enter values of matrix Two");
for(int i=0;i<3;i++)
{
for(int j=0;i<3;j++)
{
matrixTwo[i][j] = takeInput.nextDouble();
}
}
for(int i=0;i<3;i++)
{
for(int j=0;i<3;j++)
{
finalMatrix[i][j] = matrixOne[i][j] + matrixTwo[i][j];
System.out.print(finalMatrix[i][j] + "\t");
}
System.out.println();
}
}
}输入4个数字后,得到数组索引超出界限的错误。
为什么会这样呢?
我在节目中犯了什么错误吗?
发布于 2013-10-29 13:38:06
for(int j=0;i<3;j++)
{
matrixOne[i][j] = takeInput.nextDouble();
}在这个循环中,您检查的是i<3而不是j<3,这会导致您的错误。
发布于 2013-10-29 13:38:16
这只是个小错误。第二个" for“循环是使用"j”作为变量,但检查"i“是否为条件。
for(int j=0;i<3;j++)发布于 2013-10-29 13:46:10
所有内部循环都有相同的问题:
(int j=0;i<3;j++)
应该是J而不是我。
将其更改为以下代码:
(int j=0;j<3;j++)
https://stackoverflow.com/questions/19659722
复制相似问题