기능
1. 글쓰기
2. 목록 보기
3. 수정
4. 삭제
ㅡㅡㅡㅡ 메뉴 ㅡㅡㅡㅡ
1. 리뷰 입력
2. 목록 보기
3. 리뷰 수정
4. 리뷰 삭제
9. 종료
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// Review.java
public class Review {
int no;
String name;
String msg;
String regDate;
int star;
boolean isShow=true; // true: 있음/false: 없음
}
// ReviewManager.java
public class ReviewManager {
// 리뷰 전체 데이터, 리뷰 보는 모든 사용자가 공유(static)
static Review[] review = new Review[100];
static int index = 0;
// 글쓰기
void write(Review rv)
{
review[index] = rv; // 리뷰 쓰고
index++; // 다음 번호로 이동
}
// 리뷰 목록
void list()
{
System.out.println("ㅡㅡㅡㅡ 리뷰 ㅡㅡㅡㅡ");
boolean bCheck = false;
for(Review rv:review)
{
if(rv!=null && rv.isShow==true)
{
System.out.println(rv.no + "." + rv.msg);
System.out.println(rv.name);
System.out.println(rv.regDate);
for(int i=0; i<rv.star; i++)
{
System.out.print("★");
}
System.out.println("\nㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
bCheck = true;
}
}
// 등록된 리뷰가 없을 때
if(bCheck==false)
System.out.println("리뷰가 없습니다!!");
}
// 시퀀스 :: 자동 증가 번호
int max()
{
int m=0;
for(Review rv:review)
{
if(rv == null)
break;
if(m < rv.no)
m = rv.no;
}
return m+1;
}
int menu()
{
System.out.println("ㅡㅡㅡㅡ 메뉴 ㅡㅡㅡㅡ");
System.out.println("1. 리뷰 입력");
System.out.println("2. 목록 보기");
System.out.println("3. 리뷰 수정");
System.out.println("4. 리뷰 삭제");
System.out.println("9. 종료 ");
System.out.println("ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
Scanner sc = new Scanner(System.in);
System.out.println("메뉴 선택: ");
return sc.nextInt();
}
void process()
{
while(true)
{
int m = menu();
// 9. 종료
if(m==9)
{
System.out.println("프로그램 종료");
break;
}
// 1. 리뷰 입력
else if(m==1)
{
System.out.println("ㅡㅡㅡㅡ 리뷰 입력 ㅡㅡㅡㅡ");
Scanner sc = new Scanner(System.in);
System.out.println("이름 입력: ");
String name = sc.next();
System.out.println("별점 입력: ");
int star = sc.nextInt();
System.out.println("리뷰 입력: ");
String msg = sc.nextLine();
sc.next();
Review r = new Review();
r.no = max();
r.name = name;
r.msg = msg;
r.star = star;
r.regDate = "2022-05-27";
// 등록
write(r);
// 목록으로 이동
list();
}
// 2. 목록 보기
else if(m==2)
{
list();
}
// 3. 수정
else if(m==3)
{
Scanner sc = new Scanner(System.in);
System.out.print("수정할 번호 입력: ");
int no = sc.nextInt();
// 재 입력
System.out.println("이름 입력: ");
String name = sc.next();
System.out.println("별점 입력: ");
int star = sc.nextInt();
System.out.println("리뷰 입력: ");
String msg = sc.next();
review[no-1].name = name;
review[no-1].msg = msg;
review[no-1].star = star;
review[no-1].regDate = "2022-05-27";
list();
}
// 4. 삭제
else if(m==4)
{
Scanner sc = new Scanner(System.in);
System.out.println("삭제할 번호 입력: ");
int no = sc.nextInt();
review[no-1].isShow = false;
list(); // 목록으로 이동
}
}
}
// ReviewMain.java
public class ReviewMain {
public static void main(String[] args) {
ReviewManager rm = new ReviewManager();
rm.process();
}
}
'수업' 카테고리의 다른 글
+22 super, this, 형변환, 추상클래스, 인터페이스 (0) | 2022.06.02 |
---|---|
+20 캡슐화, 패키지 (0) | 2022.05.30 |
+18 생성자, 초기화 블럭 (static, instance) (0) | 2022.05.26 |
+17 멤버 메소드 (1) | 2022.05.25 |
+16 멤버 변수(static, instance) (0) | 2022.05.24 |