inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

만들어 가면서 배우는 JAVA 플레이그라운드

구구단 추가미션 요구사항 1 문의합니다

352

tono.woods

작성한 질문수 1

0

최종 요구사항1에서 부터 막혔습니다. ㅠ
2단부터 9단까지 만들어보고(주석처리 된부분) 아래 메서드를 작성했는데 만약 제가 5를 입력하면
2*1 단부터 4*4단까지만 출력됩니다.
 
if문의 조건식 쓰는 쪽에 i와 j를 <= x 로 표시하면 자꾸 에러가 뜨는데 이유가 뭔지 모르겠습니다.
제가 어떤부분에서 잘못생각하고 있는건가요??
 
 
<pre class="language-java"><code>
class Gugudan {
	public static void main(String[] args) {

//		int i, j;
//		int arr[][] = new int[10][10];
//		for (i = 2; i <= 9; i++){
//			for (j = 1; j <= 9; j++){
//				arr[i][j] = i * j;
//				System.out.print(arr[i][j]);
//			}
//			System.out.println();
//		}

		Scanner scanner = new Scanner(System.in);
		System.out.println("숫자를 입력하세요.");
		int input = scanner.nextInt();
		
		int[][] result = cal(input);
	}

	//method로 만들기
	public static int[][] cal (int x){
		int[][] result = new int[x][x];

		for (int i = 2; i < x; i++) {
			for (int j = 1; j < x; j++) {
				result[i][j] = i * j;
				System.out.println(result[i][j]);
			}
			System.out.println();
		}//for문종료
		return result;
	}
	
}
</code></pre>

java

답변 1

1

나르비

안녕하세요 

아마도 출력되는 오류는 ArrayIndexOutOfBoundsException 로 생각됩니다.

배열에 저장할 수 있는 범위를 초과하였을 때 발생하는 오류죠. 

 

위의 경우에는 배열을 생성해주실 때 

int arr[][] = new int[10][10];

위와 같이 int[10][10]으로 생성해주셨기 때문에 문제가 없습니다. 

이 배열의 경우 [0][0]~ [9][9] 까지 총 81개의 int 변수를 저장할 수 있기에 구구단을 모두 담기에 문제가 없습니다. 

 

하지만 아래에 작성해주신 코드의 경우 

int[][] result = new int[x][x];

위와 동일하게 저장하기 위해서는 한칸이 더 필요합니다. 

int[][] result = new int[x+1][x+1];

// 이후 i <= x , j<= x 로 변경

 

감사합니다. 

pg사가 있다고 가정하면

0

5

0

중급 1편 학습 방향에 대해 조언 부탁드립니다

0

20

1

To-Do App

0

16

0

강의노트 접속 불가

0

11

1

Kafka Cluster 구성도 질문

0

14

1

26년 1회차 기출 강의

0

36

2

기출문제

0

50

1

정보처리기사 실기 zip

0

42

2

답을언제쯤받아볼수있나요

0

47

2

데이터베이스 노션

0

36

2

형 책 어떻게 받아?

1

53

1

콘솔 창에 한글 출력이 안됩니다

0

400

0

share project가 안 보이는 경우에는 어떡하죠

0

409

1

Calendar calendar = new Calendar(); 오류

0

264

0

데이터를 불러오는걸 계속 실패합니다

0

246

0

1-4강 puch branch master를 실행하고 아이디와 비밀번호 적는 곳이 계속 로그인이 안됩니다.

0

313

1

Calendar cal = new Calendar(); 에러 질문

0

431

1

21.8.13일부로 비밀번호 인증이 끝났대요

5

331

1

첫번째 요일 입력받고 줄바꿈하는부분

3

257

0

설정하는데 jdk가 나오지 않습니다 ㅠㅠ 어디서 부터 잘못된건지 모르겠습니다..

0

257

0

배열로 구구단 다시구현

0

642

2

hashmap 사용이유

0

321

1

질문합니다

1

315

1

에러가 생깁니다 어떻게 해야 할까요?

0

337

1