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부터 출력되도록 고민해보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)