2017-02-11 6 views
-1

このコードを実行するのに手助けが必要な場合は、エラーを見つけて修正する必要があります。ありがとう! forループでは、この6 DebuggingExercise.mainで (DebuggingExercise.java:13)コードが実行されていない、エラーを見つけるために助けが必要

import java.io.*; 


    public class DebuggingExercise { 

    public static void main(String[] args) 
    { 
     int[][] testArray = new int[5][6]; 

     for(int i=0;i<5;i++) 
     { 
      for(int j=1; j<=6; j++) 
       testArray[i][j] = (i+1)*j; 
     } 
    } 



} 

答えて

3

: エラー受信スレッド "メイン" java.lang.ArrayIndexOutOfBoundsExceptionで 例外である

for(int j=1; j<=6; j++) 
      testArray[i][j] = (i+1)*j; 

「6」は、サイズ「6」(0〜5)の配列のインデックスから外れています。

2

ようこそStackOverflow。ステップでは、この手順を説明しましょう:

int[][] testArray = new int[5][6]; 

は5行6列の2次元配列を意味しています。配列のインデックスは0から始まります。したがって、5行には次のようなインデックスが与えられます。

0,1,2,3,4各行手段6列、手段0,1,2,3,4,5

for(int i=0;i<5;i++) 

を含む0から開始し、4まで行くため私の値が5になると、これはこのループを終了します。行インデックスを参照するのにiを使用しているので、これは問題ありません。この場合、行の0,1,2,3,4は問題ありません。意味

for(int j=1; j<=6; j++) 

、あなたはjと、アレイのコラムを参照しているので、それはiの値が0

testArrayある場合は、次のようになります1から開始し、6まで行く[0] [1]

testArray [0] [2]

testArray [0] [3]

testArray [0] [4]

testArray [0] [5]

testArray各行はわずか6列を有し、配列インデックスが0ことから始まるので、[0]〜[6] //ここでは例外でありますです:0,1,2,3,4,5したがって

あなたはArrayIndexOutOfBoundException

を受け取ります
関連する問題