사용자가 입력한 배열의 길이만큼의 문자열 배열을 선언 및 할당하고
배열의 인덱스에 넣을 값 역시 사용자가 입력하여 초기화 하세요.
단, 사용자에게 배열에 값을 더 넣을지 물어보고 몇 개를 더 입력할 건지,
늘린 곳에 어떤 데이터를 넣을 것인지 받으세요.
사용자가 더 이상 입력하지 않겠다고 하면 배열 전체 값을 출력하세요.
== 실행 화면 ==
배열의 크기를 입력하세요 : 3
1번째 문자열 : 자바의 정석
2번째 문자열 : 알고리즘
3번째 문자열 : C프로그래밍
더 값을 입력하시겠습니까?(Y/N) : y
더 입력하고 싶은 개수 : 2
4번째 문자열 : 인간관계
5번째 문자열 : 자기계발
더 값을 입력하시겠습니까?(Y/N) : y
더 입력하고 싶은 개수 : 1
6번째 문자열 : 영단어600
더 값을 입력하시겠습니까?(Y/N) : n
[자바의 정석, 알고리즘, C프로그래밍, 인간관계, 자기계발, 영단어600]
== 풀이 ==
1. 첫 배열 크기 지정
System.out.print("배열의 크기를 입력하시오 : "); int size = sc.nextInt(); sc.nextLine(); String[] arr = new String[size];
2. 첫 배열에 저장할 문자열 일렵받기
for(int i = 0 ; i < arr.length ; i++) { System.out.print((i+1) + "번째 문자열 : "); arr[i] = sc.nextLine(); }
3. 반복이 시작되는 구간부터 무한반복하는 while 작성하여 내부에 종료조건 만들어서 break
while(true) { System.out.print("더 값을 입력하시겠습니까?(Y/N) : "); char ch = sc.nextLine().charAt(0);
4. 값을 더 입력할 경우
if(ch == 'y' || ch == 'Y') {
System.out.print("더 입력하고 싶은 개수 : ");
int addSize = sc.nextInt();
sc.nextLine();
String[] newArr = new String[arr.length + addSize];
for(int i = 0; i < newArr.length; i++) {
if(i < arr.length) {
newArr[i] = arr[i];
}else {
System.out.print((i+1) + "번째 문자열 : ");
newArr[i] = sc.nextLine();
}
arr = newArr;
}
5. 값을 더 입력하지 않을 경우
else if(ch=='n' || ch == 'N') {break;}
6. 잘못 입력한 경우
else { System.out.println("잘못 입력하셨습니다. 다시 입력해주세요.");}
7. 배열 값 모두 출력
} System.out.println(Arrays.toString(arr));
Object : 객체, 사물, 물체
Oriented : 지향하다(목표로 한다)
Programming : 코딩 방법
--> 객체 지향 언어