Java中的另一个索引越界异常 导入java.util.array; /** * */ /** *@作者abogal6274 * */ 公共类Tictatcoe{ /** *@param args */ 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 TTTBoard(); } 公共静态无效TTTBoard(){ 字符串[][]tttBoard=新字符串[3][3]; 对于(int i=0;i

Java中的另一个索引越界异常 导入java.util.array; /** * */ /** *@作者abogal6274 * */ 公共类Tictatcoe{ /** *@param args */ 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 TTTBoard(); } 公共静态无效TTTBoard(){ 字符串[][]tttBoard=新字符串[3][3]; 对于(int i=0;i,java,indexoutofboundsexception,Java,Indexoutofboundsexception,tttBoard[i-1][3]而言,由于3,无论i,都是超出范围的 如果要初始化整个二维阵列,请使用嵌套循环: import java.util.Arrays; /** * */ /** * @author abogal6274 * */ public class TicTacToe { /** * @param args */ public static void main(String[] args) { // TODO

tttBoard[i-1][3]
而言,由于3,无论
i
,都是超出范围的

如果要初始化整个二维阵列,请使用嵌套循环:

import java.util.Arrays;

/**
 * 
 */

/**
 * @author abogal6274
 *
 */
public class TicTacToe {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
TTTBoard();

    }
    public static void TTTBoard(){

        String[][] tttBoard = new String[3][3];
         for(int i=0; i<=3;i++){
             tttBoard[i][3] = "[ ]";
         }

         System.out.println(Arrays.deepToString(tttBoard));
    }

}



Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at TicTacToe.TTTBoard(TicTacToe.java:25)
    at TicTacToe.main(TicTacToe.java:18)

tttBoard[i-1][3]
由于3

如果要初始化整个二维阵列,请使用嵌套循环:

import java.util.Arrays;

/**
 * 
 */

/**
 * @author abogal6274
 *
 */
public class TicTacToe {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
TTTBoard();

    }
    public static void TTTBoard(){

        String[][] tttBoard = new String[3][3];
         for(int i=0; i<=3;i++){
             tttBoard[i][3] = "[ ]";
         }

         System.out.println(Arrays.deepToString(tttBoard));
    }

}



Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at TicTacToe.TTTBoard(TicTacToe.java:25)
    at TicTacToe.main(TicTacToe.java:18)
String[][]tttBoard=新字符串[3][3];
对于(inti=1;i
String[]tttBoard=newstring[3][3];

对于(int i=1;i您之所以出现此错误,是因为该行
tttBoard[i-1][3]=“[]”;

数组是基于零的,如果数组长度为
1
,则只能引用元素
0
,因此在本例中可以引用
0,1,2


我认为您需要的是
tttBoard[i-1][2]=“[]”;

您之所以出现此错误,是因为该行
tttBoard[i-1][3]=“[]”;

数组是基于零的,如果数组长度为
1
,则只能引用元素
0
,因此在本例中可以引用
0,1,2


我认为您需要的是
tttBoard[i-1][2]=“[]”;

例外情况是,您在两个位置访问越界

String[][] tttBoard = new String[3][3];
         for(int i=1; i<=3;i++){
             tttBoard[i-1][3] = "[ ]";
         }

3在上述情况下会导致异常,最大值为2。如果将其更改为
tttBoard[i][2]=“[]”;
,则不会出现异常,以避免超出数组绑定。

异常是因为您在两个位置访问越界

String[][] tttBoard = new String[3][3];
         for(int i=1; i<=3;i++){
             tttBoard[i-1][3] = "[ ]";
         }

3在上述情况下会导致异常,最大值为2。如果将其更改为
tttBoard[i][2]=“[]”;
,则不会出现异常以避免超出数组范围。

在java和大多数其他编程语言中,索引计数从
0开始

因此,如果您有一个长度
5
然后索引将是
0,1,2,3,4

如果您有一个长度为
N

索引将为
0,1,2..N-1
。 因为您有一个类似以下的数组:

tttBoard[i][3] = "[ ]";
因此,索引将是:

String[][] tttBoard = new String[3][3]

在java和大多数其他编程语言中,索引计数从
0
开始

因此,如果您有一个长度
5
然后索引将是
0,1,2,3,4

如果您有一个长度为
N

索引将为
0,1,2..N-1
。 因为您有一个类似以下的数组:

tttBoard[i][3] = "[ ]";
因此,索引将是:

String[][] tttBoard = new String[3][3]

更改(int i=1;i@rajuGT改变了它,但仍然有剂量的工作…TTTB[I](3)=“[]”;应该是TTBLID[i](2)=“[]”;@宇宙的可能副本也考虑了RAF的建议。访问3×3数组中的第三个索引是无效的。i@rajuGT更改了它,但仍然无效…tttBoard[i][3]=“[]”应该是tttBoard[i] [2]=“[]”在3×3数组中访问第三索引是无效的。@宇宙数组有3行和3列,所以3是无效的列索引。@ SULL,因为数组范围从<代码> 0长度-1 >代码>,这将导致<代码> 2 < /Cord>最高条目。此外,它看起来像Y。您需要为游戏准备数组,这将导致数组中出现6个空条目。请稍候,它会打印出以下内容:[[null,null,[]],[null,null,[]],[null,null,[]]它应该打印到什么地方,但它可以像tic-tac趾板一样垂直吗?好的,我想看看它打印起来像tic-tac趾板吗?@Universe如果你想打印多行数组,不要使用
System.out.println(Arrays.deepToString(tttBoard));
。使用嵌套循环并逐个打印数组的元素。@Universe您的数组有3行3列,因此3是无效的列索引。@Universe因为数组范围从
0-length-1
,这将导致
2
成为最高的条目。此外,看起来您需要准备数组f或者游戏,这将导致数组中出现6个空条目。等待它打印出以下内容:[[null,null,[]],[null,null,[]],[null,null,[]],[null,null,[]]它应该打印到什么地方,但它可以像tic-tac趾板一样垂直吗?好的,我想看看它打印起来像tic-tac趾板吗?@Universe如果你想打印多行数组,不要使用
System.out.println(Arrays.deepToString(tttBoard))
。使用嵌套循环并逐个打印数组的元素。Oooo知道我理解谢谢!Oooo知道我理解谢谢!
tttBoard[3][anything] ----> exception 

 tttBoard[anything][3] -> exception