JAVA 이중배열 문제
조회수 953회
안녕하십니까 문제를 풀던중 답을 구하지 못하여 이렇게 질문을 하게 되었습니다.
주어진 입력의 곱셈 또는 추가 표를 얻기 위해 JAVA 코드를 쓰십시오!
• 참고: – LOOP, IF/ELSE 및 METHODS을 사용합니다.
– 스캐너 클래스를 사용하여 사용자로부터 입력을 가져옵니다. 입력 작업이 1과 같으면 곱하기 작업입니다. 입력 작업이 2와 같으면 추가 작업입니다. 다른 입력 번호는 작업을 수행하지 않고 프로그램을 종료합니다.
– 문자 입력('*' 및 '+')을 사용하면 추가 포인트를 얻을 수 있습니다. 라는 문제입니다.
이처럼 만들기 위해 코딩을 하였고 ;
int N= 6;
int[][] array = new int[N][N];
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
{
array[i][j] = (int)(Math.i*j) ;
}
}
for(int i = 0; i < N; i++)
{
System.out.print(array[i][j] + " ");
}
System.out.println();
}
이렇게 코드를 짜 보았는데 오류가 나고 있습니다. 어느부분이 문제이고 어떻게 수정하여야 위이 예시처럼 만들수 있는지 알고 싶습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
array[i][j] = (int)(Math.i*j) ; // 이런식의 계산은 할 수 없습니다. Math 클래스에 i라는 정적인 필드는 존재하지 않습니다. 문제상 단순히 i * j 하면 됩니다.
출력 또한 2차원 배열이니 즉 행렬이므로 반복은 N * M 번이 되어야 합니다.
for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { System.out.print(array[i][j] + " "); } System.out.println(); }
1부터 출력되어야 하는데 질문상의 코드로는 0부터 출력될것입니다. 1부터 출력되도록 고민해보세요.
댓글 입력