多维数组错误越界



我只是在学习在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 个数字后,我收到数组索引超出界限的错误。
这是为什么呢?
我在程序中犯了什么错误吗?

for(int j=0;i<3;j++)
{
    matrixOne[i][j] = takeInput.nextDouble();
}

在此循环中,您正在检查i<3j<3这会导致错误。

这只是一个小错误。你的第二个"for"循环使用"j"作为变量,但检查"i"的条件

for(int j=0;i<3;j++)

所有内部循环都有相同的问题:

for(int j=0;i<3;j++)

应该是j而不是i。

将其更改为以下代码:

for(int j=0;j<3;j++)

最新更新