<문제3>
기능1 : 종료
명령어 : exit[입력]
프로그램을 종료합니다.<문제2>
기능2 : 게시물 추가
명령어 : add
게시물 제목을 입력해주세요 : 제목1
게시물 내용을 입력해주세요 : 내용1
게시물이 등록되었습니다.
명령어 : add
게시물 제목을 입력해주세요 : 제목2
게시물 내용을 입력해주세요 : 내용2
게시물이 등록되었습니다.<문제3>명령어 : list
==================
제목 : 제목1
내용 : 내용1
==================
제목 : 제목2
내용 : 내용2
==================public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 반복 횟수 정할 수 없음 => 무한 반복 구조
// 변수에는 하나의 값만 저장 가능하므로 여러개의 게시물을 저장하려면 ArrayList(배열)를 사용한다.
ArrayList<String> titleList = new ArrayList<>();
ArrayList<String> bodyList = new ArrayList<>();
// String title = ""; // 딱히 처음에 값이 필요 없음. 추후에 입력을 통해 넣을 것임. , 바로 빼올거 아니므로 while문 밖에다 빼놓기
// String body = "";
while(true) { // 반복 조건이 true이기 때문에 무한 반복
System.out.print("명령어 : ");
String cmd = scan.nextLine();
if(cmd.equals("exit") ) { // 숫자가 아닌 경우 같다라는 표현을 할 때 == 이 아닌 .equals()를 사용해야 한다.
System.out.println("프로그램을 종료합니다.");
break; // 반복문 탈출
}
}
// 1. 반복문 제어 하던 방법 : 반복 횟수 세서 특정 횟수 지나면 탈출
// 2. break문을 사용하여 강제 탈출 가능
} else if(cmd.equals("add")) {
System.out.print("게시물 제목을 입력해주세요 : ");
String title = scan.nextLine();
titleList.add(title); // titleList 배열에 title을 추가
// for(int i = 1; i <= 10; i++) {
// if(i == 5) {
// break; // i가 5일 때 반복문 탈출
// }
// System.out.println(i);
// }
System.out.print("게시물 내용을 입력해주세요 : ");
String body = scan.nextLine();
bodyList.add(body);
System.out.println("게시물이 등록되었습니다.");
} else if(cmd.equals("list")) {
System.out.println("===================");
for(int i = 0; i < titleList.size(); i++) {
String title = titleList.get(i);
System.out.printf("제목 : %s\n", title);
//%s를 사용하면 문자열이 들어 있는 변수나 문자열 리터럴이 해당 위치에 삽입됩니다.
String body = bodyList.get(i);
System.out.printf("내용 : %s\n", body);
System.out.println("===================");
}
}
}
}
}
cf)
System.out.printf("Number: %d, Amount: %.2f, Name: %s", number, amount, name);
위의 코드에서 %d, %.2f, %s는 각각 정수, 소수점을 가진 부동 소수점 수, 문자열을 나타냅니다. 이렇게 함으로써 해당 위치에 변수의 값을 삽입하여 형식화된 출력을 얻을 수 있습니다.