Question
정말 초 간단한데 for문을 두개 안돌리고 한번만 돌려서 출력할 방법이 있을까요?
package naverkin; // 이차원 배열 public class ArrayTwoDemo { public static void main(String[] args) { // 이차원 배열 선언 및 초기화 int[][] data = {{10, 20, 30}, {40, 50, 60}}; // for문 for (int i = 0; i < data.length; i++) { for (int j = 0; j < data[i].length; j++) { System.out.print(data[i][j] + “\t”); // 열 출력 } System.out.println(); // 행 출력 } } } // Output: // 10 20 30 // 40 50 60
Answer:
예전에 강의 들을 때 강사님이 퀴즈로 알려주셨던 부분인데
질문을 보니 새롭게 생각이 나서…
’/’ 연산자와 ‘%’연산자를 이용한다.
/** * @author Coozplz */ public class ArrayTwoDemo { public static void main(String[] args) { // 이차원 배열 선언 및 초기화 int[][] data = {{10, 20, 30} , {40, 50, 60} , {40, 50, 60}}; for (int i = 0; i < data.length * data[0].length; i++) { int row = i / data[0].length; // 행 int column = i % data[0].length; // 열 System.out.print(data[row][column] + "\t"); if (column == data[0].length - 1) { System.out.println(); } } } }