728x90
반응형
문제)
1. String 2차원 배열 6행 6열을 만들고 맨 위와 제일 앞 열은 각 인덱스를 저장합니다.
2. 그리고 사용자에게 행과 열을 입력 받아 해당 좌표의 값을 'x'로 변환해 2차원 배열을 출력합니다.
3. 실행
(1) 행 인덱스 입력 : 4
(2) 열 인덱스 입력 : 2
0 1 2 3 4 0 1 2 3 4 x
정답 코드)
import java.util.Scanner; public class Example10 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[][] arr = new String[6][6]; System.out.print("행 인덱스 입력 : "); int n = sc.nextInt(); System.out.print("열 인덱스 입력 : "); int m = sc.nextInt(); String a = "0"; for(int i=0; i<arr.length; i++) { for(int j=0; j < arr[i].length; j++) { if(i == 0 && j > 0) { arr[i][j] = a; arr[j][i] = a; int b = Integer.parseInt(a) + 1; a = Integer.toString(b); System.out.print("\t" + arr[i][j]); } } } for(int i=0; i<arr.length; i++) { if(i > 0) { System.out.print("\n" + arr[i][0]); } for(int j=0; j < arr[i].length; j++) { if(i == n + 1 && j == m + 1) { System.out.print("X"); } System.out.print("\t"); } } } }
처음에는 6행 6열의 String 배열을 만듭니다. 그 후 X가 표시될 행과 열의 위치를 입력 받습니다.
a를 String 0 값으로 받은 이유는 배열에 넣으려면 문자열이 되어야하기 때문입니다.
for(int i=0; i<arr.length; i++) { for(int j=0; j < arr[i].length; j++) { if(i == 0 && j > 0) { arr[i][j] = a; arr[j][i] = a; int b = Integer.parseInt(a) + 1; a = Integer.toString(b); System.out.print("\t" + arr[i][j]); } } } // 정수형 변수 b는 값을 증가시키기 위해 문자열을 정수로 바꿉니다. // 이후 다시 정수형 변수 b를 a에 넣습니다. // (0,1) ~ (0,5)까지 0~4까지 입력 및 출력되도록 만듭니다. // (1,0) ~ (5,0)까지 0~4까지 입력되도록 만듭니다.
for(int i=0; i<arr.length; i++) { if(i > 0) { System.out.print("\n" + arr[i][0]); } for(int j=0; j < arr[i].length; j++) { if(i == n + 1 && j == m + 1) { System.out.print("X"); } System.out.print("\t"); } } // (1,0) ~ (5,0)까지 0~4가 출력되도록 만듭니다. // for문을 이용해 n = 4, m = 2 가 입력되면 arr[5][3]에 X가 출력되도록 합니다.
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
728x90
반응형
'BackEnd > Java' 카테고리의 다른 글
[java] 이것이 자바다 ch05 확인 문제(array) (0) | 2023.01.10 |
---|---|
[java] 이것이 자바다 ch05 배열 타입 (1) | 2023.01.10 |
[java] 배열을 이용한 추가 연습문제2(array) (0) | 2023.01.09 |
[java] 배열을 이용한 추가 연습문제1(array) (4) | 2023.01.09 |
[java] 문자열을 이용한 추가 연습문제(indexOf, substring, charAt ) (0) | 2023.01.09 |