有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java多维数组错误inderoutofbounds

我正在学习在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个数字后,我得到一个错误,数组索引超出了范围
为什么
我在节目中犯了什么错误吗


共 (3) 个答案

  1. # 1 楼答案

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

    在这个循环中,您正在检查i<3而不是j<3。这将导致您的错误

  2. # 2 楼答案

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

    对于(int j=0;i<;3;j++)

    应该是j而不是i

    将其更改为以下代码:

    对于(int j=0;j<;3;j++)

  3. # 3 楼答案

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

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