728x90
반응형
문제)
1. 사용자에게 행의 크기를 입력 받고 그 수만큼의 반복을 통해 열의 크기도 받아 문자형 가변 배열을 선언 및 할당,
2. 그리고 각 인덱스에 'a'부터 총 인덱스의 개수만큼 하나씩 늘려 저장하고 출력합니다.
3. 실행
(1) 행의 크기 : 4
(2) 0열의 크기 : 2
(3) 1열의 크기 : 6
(4) 2열의 크기 : 3
(5) 3열의 크기 : 5
(6)
a b c d e f g h i j k l m n o p
정답 코드)
import java.util.Scanner; public class Example08 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("행의 크기 : "); int n = sc.nextInt(); char a = 'a' - 1; char arr[][] = new char[n][]; for(int i=0; i<n; i++) { System.out.print(i + "열의 크기 : "); int m = sc.nextInt(); arr[i] = new char[m]; for(int j=0; j<arr[i].length; j++) { arr[i][j] = (char)(a + 1); a = arr[i][j]; } } for(int i=0; i<n; i++) { for(int j=0; j<arr[i].length; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); } } }
위의 코드를 풀어서 설명해 보겠습니다.
행의 크기와 열의 크기 모두를 입력받아 배열을 생성해야합니다.
System.out.print("행의 크기 : "); int n = sc.nextInt(); char a = 'a' - 1; char arr[][] = new char[n][]; // 먼저 행의 크기를 입력 받아서 행의 개수만 있는 배열을 만들어줍니다. // char a를 지정해서 a - 1의 값을 선언합니다.
for(int i=0; i<n; i++) { System.out.print(i + "열의 크기 : "); int m = sc.nextInt(); arr[i] = new char[m]; // m 변수를 입력받아 열의 크기를 지정합니다. n만큼 반복하도록 합니다. // 여기서 arr[i] = new char[m] 해당 코드는 열의 값을 지정하는 것입니다. for(int j=0; j<arr[i].length; j++) { arr[i][j] = (char)(a + 1); a = arr[i][j]; // arr에 a부터 출력되도록 1씩 증가시킵니다. // a의 값은 마지막 배열 값이 저장되도록 합니다. } }
나머지는 배열 전체를 출력하는 코드입니다.
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
728x90
반응형
'BackEnd > Java' 카테고리의 다른 글
[java] 이것이 자바다 ch05 배열 타입 (1) | 2023.01.10 |
---|---|
[java] 배열을 이용한 추가 연습문제3(array) (1) | 2023.01.10 |
[java] 배열을 이용한 추가 연습문제1(array) (4) | 2023.01.09 |
[java] 문자열을 이용한 추가 연습문제(indexOf, substring, charAt ) (0) | 2023.01.09 |
[java] 이것이 자바다 ch05 문자열 타입 (0) | 2023.01.09 |