코린이 2주차!
과제로 직접 코드를 짜보았다. 장장 10시간이 걸린.. 짜고 수정하고 짜고 뒤엎고 짜고..
강사님이 직접 내주신 과제였는데, 아직 부족한 점이 내눈에도 보이지만 차근차근 수정해보려고한다.
메뉴 선택 오류
출력김밥천국 입장불가
출력돈이 부족합니다
출력public class Main {
public static void main(String[] args) {
Menu menu;
boolean isEnd = true;
System.out.println("현금을 얼마 가지고 있니?");
Scanner scanner = new Scanner(System.in);
int cash = scanner.nextInt();
if (cash < 2500) {
System.out.println("돈이 부족하여 김밥천국 입장 불가능합니다.");
return;
} else {
Menu.menuBoard();
}
while (isEnd) {
int menuPrice = 0;
int Num = scanner.nextInt();
switch (Num) {
case 1:
menu = new Menu("김밥", 2500);
menuPrice = menu.menuPrice;
menu.menuInfo(1);
break;
case 2:
menu = new Menu("라면", 3000);
menuPrice = menu.menuPrice;
menu.menuInfo(2);
break;
case 3:
menu = new Menu("떡볶이", 4000);
menuPrice = menu.menuPrice;
menu.menuInfo(3);
break;
case 4:
menu = new Menu("돈까스",5000);
menuPrice = menu.menuPrice;
menu.menuInfo(4);
break;
case 5:
menu = new Menu("종료",0);
menuPrice = menu.menuPrice;
menu.menuInfo(5);
menu.end();
return;
default:
System.out.println("메뉴 선택 오류. 1~5번 사이의 메뉴를 선택해주세요.");
break;
}
int change = cash - menuPrice;
if(change < 0){
System.out.println("돈이 부족하여 메뉴를 선택할 수 없습니다.");
isEnd = true;
} else if (change == 0) {
System.out.println("잔돈은" + change + "원 입니다.");
System.out.println("더 이상 선택할 수 없습니다.");
cash = change;
isEnd = false;
} else {
cash = change;
System.out.println("잔돈은" + change + "원 입니다.");
}
isEnd = Menu.isVaild(cash);
}
}
}
class Menu {
String menuName;
int menuPrice;
int menuNum;
public Menu(){}
public Menu(String menuName, int menuPrice) {
this.menuName = menuName;
this.menuPrice = menuPrice;
}
public void menuInfo(int menuNum) {
System.out.println("메뉴 주문 번호 : " + menuNum + "\n" + menuName + " 선택하셧습니다.");
}
public static void menuBoard() {
System.out.println("메뉴를 선택해주세요.");
System.out.println("====================");
System.out.println("1. 김밥" + "\t" + (2500));
System.out.println("2. 라면" + "\t" + (3000));
System.out.println("3. 떡볶이" + "\t" + (4000));
System.out.println("4. 돈까스" + "\t" + (5000));
System.out.println("5. 종료");
System.out.println("====================");
}
public void end() {
System.out.println( "프로그램 종료." + "\n지금까지 선택하신 식사 주문이 완료되었습니다.");
}
public static boolean isVaild(int cash) {
if (cash < 2500) {
System.out.println("더이상 선택할 수 없습니다. 프로그램 종료.");
return false;
} else return true;
}
}
아직 메소드로 정리하는 습관이 안들어서 코드가 많이 지저분하다..
강사님께 코드 리뷰도 받고 차근차근 수정해봐야겠다!