2차원 배열 실습문제 ver. Hard
String 2차원 배열 6행 6열을 만들고 행의 맨 위와 열의 맨 앞은 각 인덱스를 저장하세요.
그리고 사용자에게 행과 열을 입력 받아 해당 좌표의 값을 'X'로 변환해 2차원 배열을 출력하세요.
이때, 행 입력 시 99가 입력되지 않으면 무한 반복이 되도록 구현하세요.
ex.
행 인덱스 입력 : 2 행 인덱스 입력 : 3
열 인덱스 입력 : 2 열 인덱스 입력 : 1
0 1 2 3 4 0 1 2 3 4
0 0
1 1
2 X 2 X
3 3 X
4 4
행 인덱스 입력 >> 99
프로그램 종료
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package com.kh.practice.demension;
import java.util.Scanner;
public void practice11() {
Scanner sc = new Scanner(System.in);
char[][] arr = new char[6][6];
// 0 1 2 3 4 가로세로 입력
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
for (int j = 1; j < arr[i].length; j++) {
arr[i][j] = (char) (j + 47);
}
} else if (i != 0) {
for (int j = 0; j < arr[i].length; j++) {
if (j == 0) {
arr[i][j] = (char) (i + 47);
}
}
}
}
// 나머지 변수 " "로 변경
for (int i = 1; i < arr.length; i++) {
for (int j = 1; j < arr[i].length; j++) {
arr[i][j] = ' ';
}
}
// 여기서 부터 반복
while (true) {
// 인덱스 위치 입력 받은 후 x로 변환
System.out.print("행 인덱스 입력 : ");
int row = sc.nextInt();
if (row == 99) { // 99 입력시 종료---------
System.out.print("프로그램 종료.");
break;
}
System.out.print("열 인덱스 입력 : ");
int col = sc.nextInt();
arr[row + 1][col + 1] = 'X';
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]);
if (j != arr[i].length - 1) {
System.out.print(" ");
}
}
System.out.println();
}
System.out.println();
}
}
}
|
cs |