gpt4 book ai didi

java - 在 JAVA 中打印 3D 数组时出现 ArrayIndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-12-01 07:27:34 26 4
gpt4 key购买 nike

我用JAVA编写了以下代码。

package threed;

import java.util.Scanner;

public class Threed_Array {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int b1,b2,b3;
System.out.print("Enter the number of elements in 1st bracket->");
Scanner sc=new Scanner(System.in);
b1=sc.nextInt();
System.out.print("Enter the number of elements in 2nd bracket->");

b2=sc.nextInt();
System.out.print("Enter the number of elements in 3rd bracket->");

b3=sc.nextInt();
int threedarray[][][]=new int[b1][b2][b3];

for(int i=1; i<=b1; i++)
{
for(int j=1; i<=b2; j++)
{
for(int k=1; i<=b3; k++)
{
System.out.print("Enter element->");
threedarray[i][j][k]=sc.nextInt();
}
}
}
for(int i=1; i<=b1; i++)
{
for(int j=1; i<=b2; j++)
{
for(int k=1; i<=b3; k++)
{
System.out.print(" "+threedarray[i][j][k]);

}
}
}

}
}

我收到此代码的 ArrayIndexOutOfBoundsException 异常。这显示在行中:

threedarray[i][j][k]=sc.nextInt();

谁能帮我看看错误发生在哪里吗?谢谢。

最佳答案

您应该始终从索引 0 开始,它是数组第一个元素的索引:

for(int i=0; i<b1; i++)
{
for(int j=0; j<b2; j++)
{
for(int k=0; k<b3; k++) {
System.out.print("Enter element->");
threedarray[i][j][k]=sc.nextInt();
}
}
}
for(int i=0; i<b1; i++)
{
for(int j=0; j<b2; j++)
{
for(int k=0; k<b3; k++)
{
System.out.print(" "+threedarray[i][j][k]);
}
}
}

进一步使用 < 进行检查不是<=

在最后一个循环中,您访问数组元素 n+1,其中 n 是该数组的大小。这就是异常的原因。

关于java - 在 JAVA 中打印 3D 数组时出现 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21833352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com