[질문] 자바공부를 하다가.. 배열문제에서..
초월
김충석의 자바프로그래밍이라는 책을 사서 공부하고있습니다..
연습문제중에.. 87p 1번문제인데..
결과가 이렇게 나와야합니다..
5 5 5 5 5
4 4 4 4 4
3 3 3 3 3
2 2 2 2 2
1 1 1 1 제가풀어본거는..
class ExER1 {
public static void main(String args[]) {
int exE[][] = new int [5][];
exE[0] = new int[5];
exE[1] = new int[5];
exE[2] = new int[5];
exE[3] = new int[5];
exE[4] = new int[4];
int i,j = 0 ;
int k=5 ; for(i=0 ; i5 ; i++){
for(j=0 ; j j+1 ; j++)
exE[i][j] = k;
k--;
}
for(i=0 ; i5 ; i++){
for(j=0 ; jj+1 ; j++)
System.out.print(exE[i][j] + );
System.out.println();
} }
}
이렇게 해보긴했는데요.. javac ExER1.java 실행시는 괜찬은데 java Exer1 실행시이런오류가 뜹니다
exception in thread main java.lang.ArrayIndexOutOdBoundsException: 5
at Exer1.mainExER1.java:17
이오류는 무슨 오류인지....
제가한거에서 수정해주셔도 좋구요..아에 새로짜주셔도 됩니다.
제가 워낙초보라... 조금 자세한 설명과 함께 부탁드리겠습니다 수고하세요 ㅠㅠ
-
YourWay 2023-11-22
for(j=0 ; jj+1 ; j++) == 부분이 잘못되었죠. ji+1은 늘 true이므로, for문이 무한루프에 빠지고, 잡아논 배열인덱스를 넘어가서, ArrayIndexOutOdBoundsException 발생시킵니다.
-
아이 2023-11-22
무슨 말씀이신지;;;
-
푸헷 2023-11-22
j j+1 은 항상 참입니다..