예제로 공부하는 Java 100 문제풀이 Part.2
사용자 입력을 받아 2차원 배열을 생성하고 값을 입력하는 코드를 구현하시오.
이떄, 중첩 반복문을 사용하여 출력도 같이 해보시오.
이 문제는 배열 생성시 사용자로부터 입력을 받아서 2차원 배열을 만들 수 있는지를 묻는 문제이다.
[1]: 사용자 입력을 위한 객체 선언
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
[2]: 2차원 배열의 행과 열 선언
→ 사용자 입력으로 처리
int R = sc.nextInt();
[3]: char 2차원 배열 선언
→ 사용자로부터 R, C 입력받아 gameMap[R][C] 생성
char[][] gameMap = new char[R][C];
[4]: 사용자 입력을 받아서 저장할 String 배열 선언
→ 이때 크기를[R]로 해주도록 한다.
→ 사용자가 입력하는 값은 안쪽 for문을 돌면서 2차원 배열에 입력하기 때문이다.
String[] strAr = new String[R];
[5]: 2차원 배열 요소
→ 사용자가 입력하는 값으로 세팅
strAr[i] = sc.next();
[6]: 2차원 배열에 들어있는 값 출력하기
import java.util.Scanner;
public class Java100Ex11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("행의 개수를 입력하고 [Enter] 치세요 = ");
int R = sc.nextInt();
System.out.print("열의 개수를 입력하고 [Enter] 치세요 = ");
int C = sc.nextInt();
char[][] gameMap = new char[R][C];
String[] strAr = new String[R];
for(int i = 0; i < R; i++) {
System.out.print((i+1) + "번째 행에 입력할 문자 " + C + "개를 차례대로 입력하고 [Enter]을 치세요 = ");
strAr[i] = sc.next();
for(int j = 0; j < C; j++) {
gameMap[i][j] = strAr[i].charAt(j);
}
}
System.out.println("---------------------------");
for(int i = 0; i < R; i++) {
for(int j = 0; j < C; j++)
System.out.print(gameMap[i][j]);
System.out.println();
}
System.out.println("---------------------------");
}
}
'Backend > Java' 카테고리의 다른 글
[인프런] static, 스태틱, 선언, 메서드 (0) | 2022.02.22 |
---|---|
[인프런] 메서드, 정의, 메서드 구현 (0) | 2022.02.20 |
[인프런] 배열, 1차원, 2차원, 예제(2) (0) | 2022.02.18 |
[인프런] 배열, 1차원, 2차원, 예제(1) (0) | 2022.02.16 |
[인프런] 2차원, 2차원 배열, 생성, 출력 (0) | 2022.02.16 |