코딩 일주일차
메가커피에서 커피를 사 마실 때를 떠올리며
카페 주문 앱을 만들어보았다 +_+
반복문은 예제를 따라쳐본 게 전부지만!!
그래도 카페 주문 앱 정돈 만들 수 있지 않을까? 생각하고
패기롭게 도전!!!
여러 시행착오를 겪어가며 (ㅠㅠ)
어찌어찌 만들기를 성공해보았다
import java.util.*;
public class CafeApp {
public static void main(String[] args) {
int menu = 0;
int card = 0;
int point = 0;
Scanner cafe = new Scanner(System.in);
while(true) {
System.out.println("휴일 카페에 오신 걸 환영해요!");
System.out.println("주문할 메뉴의 번호를 입력하세요");
System.out.println("1 아메리카노");
System.out.println("2 스무디");
System.out.println("3 캐모마일");
String numMenu = cafe.nextLine();
menu = Integer.parseInt(numMenu);
System.out.println("카드입니까 현금입니까?");
System.out.println("1 카드");
System.out.println("2 현금");
String pay = cafe.nextLine();
card = Integer.parseInt(pay);
if(menu==1) {
System.out.print("카드 번호를 입력하세요");
String cardNum = cafe.nextLine();
card = Integer.parseInt(cardNum);
} else {
System.out.print("적립 번호를 입력해주세요.(01012345678)");
String Poin = cafe.nextLine();
point = Integer.parseInt(Poin);
}
System.out.println(" === 영수증 === ");
System.out.println("주문하신 메뉴는 "+menu+"입니다");
System.out.println("카드번호 : "+card);
System.out.println("적립번호 : "+point);
System.out.println("이용해주셔서 감사합니다!");
break;
}
}
}
결과는?
그런데 여기에서 아쉬운 점이 있었다
영수증에서 주문한 메뉴의 이름이 아닌 메뉴 번호로 뜨는 것과
카드 사용자는 적립을 할 수 없는 아쉬움...
그래서!
영수증에 고른 메뉴의 이름이 뜨고
카드 사용자도 적립 화면으로 넘어갈 수 있도록
코드를 좀 보완해보았다
import java.util.*;
public class CafeApp2 {
public static void main(String[] args) {
int menu = 0;
int card = 0;
int point = 0;
String americano = "아메리카노";
String smoothie = "스무디";
String camomile = "캐모마일";
Scanner cafe = new Scanner(System.in);
while(true) {
System.out.println("휴일 카페에 오신 걸 환영해요!");
System.out.println("주문할 메뉴의 번호를 입력하세요");
System.out.println("1 아메리카노");
System.out.println("2 스무디");
System.out.println("3 캐모마일");
String numMenu = cafe.nextLine();
menu = Integer.parseInt(numMenu);
System.out.println("카드입니까 현금입니까?");
System.out.println("1 카드");
System.out.println("2 현금");
String pay = cafe.nextLine();
card = Integer.parseInt(pay);
if(card==1) {
System.out.print("카드 번호를 입력하세요");
String cardNum = cafe.nextLine();
card = Integer.parseInt(cardNum);
System.out.println("적립 번호를 입력해주세요.(12345678)");
String poin = cafe.nextLine();
point = Integer.parseInt(poin);
} else if(card==2) {
System.out.print("적립 번호를 입력해주세요.(12345678)");
String Poin = cafe.nextLine();
point = Integer.parseInt(Poin);
}
if(menu==1) {
System.out.println(" === 영수증 === ");
System.out.println("주문하신 메뉴는 "+americano+"입니다");
System.out.println("카드번호 : "+card);
System.out.println("적립번호 : "+point);
System.out.println("이용해주셔서 감사합니다!");
break;
} else if(menu==2) {
System.out.println(" === 영수증 === ");
System.out.println("주문하신 메뉴는 "+smoothie+"입니다");
System.out.println("카드번호 : "+card);
System.out.println("적립번호 : "+point);
System.out.println("이용해주셔서 감사합니다!");
break;
} else if(menu==3) {
System.out.println(" === 영수증 === ");
System.out.println("주문하신 메뉴는 "+camomile+"입니다");
System.out.println("카드번호 : "+card);
System.out.println("적립번호 : "+point);
System.out.println("이용해주셔서 감사합니다!");
break;
}
}
}
}
String에 음료 이름을 저장하고
처음에 고른 메뉴 번호에 따라서 출력값이 달라지게 했다
결과는??
성공했을때 끼얏호~! 소리질렀다
아쉬운 점은 깔끔하게 정리할 수 있으면 좋을 텐데...ㅠㅠ
메소드? 클래스? 뭐 그런 게 있던데
메소드 라는 용어를 아직 이해하기가 힘들어서
어떻게 묶을지 감도 안 잡힌다...그래서 일단은 이대로 냅두기로 ㅎㅎ
혼자서 열심히 찾아서 해본 거라 뿌듯하긴 하다~~~!!
아쉬운 점
1. 현금 결제를 했을 경우엔 카드 번호가 안뜨게 하고 싶은데...어떻게 해야 좋을까?
2. 코드를 깔끔하게 묶고 싶은데 메소드란 걸로 묶을 순 없을까??
다음엔 이 두 개를 고민해봐야겠다 :)
내일은 친구랑 을왕리에 놀러가서
포스팅이 없을 예정!!
728x90
'혼자서 개발새발' 카테고리의 다른 글
printf로 출력하는 것? (0) | 2022.09.04 |
---|---|
카페 주문 앱, 완벽하게 수정 완료 >_< (0) | 2022.09.02 |
배열(Array)에 대해서 알아보다 (0) | 2022.09.02 |
생활코딩에서 본 코드 Scanner로 입력값 줘보기!! + double을 int로 변환해보기 (1) | 2022.08.30 |
설레고 무섭지만 (0) | 2022.08.30 |