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 |