JAVA 문제풀이

배열 실습문제.12

Rocomi 2024. 6. 21. 11:16

사용자가 입력한 배열의 길이만큼의 문자열 배열을 선언 및 할당하고 배열의

인덱스에 넣을 값 역시 사용자가 입력하여 초기화 하세요. 단, 사용자에게 배열에

값을 더 넣을지 물어보고 몇 개를 더 입력할 건지, 늘린 곳에 어떤 데이터를 넣을

것인지 받으세요. 사용자가 더 이상 입력하지 않겠다고 하면 배열 전체 값을 출력하세요.

 

ex.

배열의 크기를 입력하세요 : 3

1번째 문자열 : 자바의 정석

2번째 문자열 : 알고리즘

3번째 문자열 : C프로그래밍

더 값을 입력하시겠습니까?(Y/N) : y

더 입력하고 싶은 개수 : 2

4번째 문자열 : 인간관계

5번째 문자열 : 자기계발

더 값을 입력하시겠습니까?(Y/N) : y

더 입력하고 싶은 개수 : 1

6번째 문자열 : 영단어600

더 값을 입력하시겠습니까?(Y/N) : n

[자바의 정석, 알고리즘, C프로그래밍, 인간관계, 자기계발, 영단어600]

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.kh.practice.array;
 
import java.util.Scanner;
 
public class ArrayPractice {
 
    public void practice16() {
        Scanner sc = new Scanner(System.in);
 
        int i = 0;
        int num2 = 0;
        int times = 0;
        String[] str = new String[0];
        ;
        String[] copy;
 
        System.out.print("배열의 크기를 입력하세요 : ");
        int num = sc.nextInt();
        
        sc.nextLine();
        // \n이 남아있는 경우 지워주는 역할
 
        while (true) {
 
            
            times++;
//            이전 데이터 업로드
            copy = new String[num];
            if (times > 1) {
                for (i = 0; i < num; i++) {
                    copy[i] = str[i];
                }
            }
            num += num2;
            str = new String[num];
//            새로운 데이터 입력
            for (; i < num; i++) {
 
                System.out.print(i + 1 + " 번째 문자열 : ");
                String inStr = sc.nextLine();
                str[i] = inStr;
            }
//            이전 데이터 다운로드
            if (times > 1) {
                for (i = 0; i < num - num2; i++) {
                    str[i] = copy[i];
                }
            }
 
            System.out.print("더 값을 입력하시겠습니까?(Y/N) : ");
            char yesNo = sc.next().charAt(0);
 
            if (yesNo == 'n') {
 
                System.out.print("[");
                for (i = 0; i < num; i++) {
                    System.out.print(str[i]);
                    if (i != num - 1) {
                        System.out.print(", ");
                    }
                }
                System.out.print("]");
                break;
            }
            else if (yesNo == 'y') {
 
            System.out.print("더 입력하고 싶은 개수 : ");
            num2 = sc.nextInt();
            sc.nextLine();
            // \n이 남아있는 경우 지워주는 역할
            }
            else {
                System.out.print("잘못입력하셨습니다.");
            }
 
        }
    }
    
}
cs