오늘 학원에서 객체를 배워서
예전에 만들었던 카페 주문 앱 코드를
클래스와 메소드로 정리해보았다!
먼저 메인 클래스!
package CafeApps;
import java.util.Scanner;
public class CafeService {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
CafeTest c = new CafeTest(); //객체 불러오기
c.hello(sc); //처음 시작, 메뉴 고르는 부분
c.Yes(); //입력받은 메뉴값을 저장하는 부분
c.pay(sc); //카드인지 현금인지 물어본다
c.gogo(sc); //카드라면 카드번호/포인트번호, 현금이라면 포인트번호만 물어본다
c.end(); //영수증 출력
}
}
상당히 간결해진 것을 볼 수 있다!>.<
CafeTest 객체도 확인해보자
package CafeApps;
import java.util.Scanner;
public class CafeTest {
Scanner sc; //입력받을 스캐너
String menu; //아메리카노,스무디,캐모마일
String point; //포인트번호 받기
String don; // 카드냐? 현금이냐? 카드면 카드넘입력
String cardN; //카드 번호
String i; //스캐너로 입력받은 값을 저장하는 변수
void input(Scanner sc) { //입력값을 받는 부분
i = sc.next();
}
void hello(Scanner sc) { //매개변수로 입력값 받기, 첫 부분
System.out.println("휴일 카페에 오신 것을 환영해요!");
System.out.println("1.아메리카노");
System.out.println("2.스무디");
System.out.println("3.캐모마일");
System.out.print("메뉴를 숫자,문자로 입력해주세요!>");
input(sc);
menu = i;
}
void Yes() { //주문 메뉴를 저장하는 부분, 스캐너 입력값에 따라 저장
if(menu.equals("아메리카노") || menu.equals("1")) {
menu = "아메리카노";
} else if(menu.equals("스무디")||menu.equals("2")) {
menu = "스무디";
} else if(menu.equals("캐모마일")||menu.equals("3")) {
menu = "캐모마일";
}
}
void pay(Scanner sc) {
System.out.println("카드입니까 현금입니까?");
System.out.println("1 카드");
System.out.println("2 현금");
System.out.print("번호나 이름입력>");
input(sc);
don = i; //입력받은 값 don에 넣어줌(1,카드 || 2: 현금)
}
void gogo(Scanner sc) {
//don 입력값에 따라 실행
if(don.equals("카드")||don.equals("1")) {
System.out.println("카드 번호를 입력하세요");
input(sc);
cardN=i;
System.out.println("포인트 번호를 입력하세요");
input(sc);
point=i;
} else if(don.equals("현금")||don.equals("2")) {
System.out.println("포인트 번호를 입력하세요");
input(sc);
point = i;
}
}
void end() {
if(don.equals("카드")||don.equals("1")) { //카드일 경우 카드번호까지 출력
System.out.println("======영수증======");
System.out.println("주문하신 메뉴는 "+menu);
System.out.println("카드 번호는 "+cardN);
System.out.println("적립 번호는 "+point);
System.out.println("주문해주셔서 감사합니다~");
} else if(don.equals("현금")||don.equals("2")) { //현금이라면 카드번호 제외하고 출력
System.out.println("======영수증======");
System.out.println("주문하신 메뉴는 "+menu);
System.out.println("적립 번호는 "+point);
System.out.println("주문해주셔서 감사합니다~");
}
}
}
전에 중구난방 코드와 다르게
깔꼼하게 정리된 것을 알 수 있다^-^/
객체 지향 프로그래밍...
어렵지만 신기하고 재미있었다
더 열심히 해야지!
728x90
'혼자서 개발새발' 카테고리의 다른 글
JAVA) 간단한 회원가입 페이지를 만들어보자! (1) | 2022.10.04 |
---|---|
int a 값에 메소드 return값을 담는다면? (0) | 2022.10.01 |
Java로 로또 1등이 당첨 될 동안 2등은 몇 번 될까?(1등까지 몇번 걸릴까) (0) | 2022.09.29 |
Java while,if문)랜덤 다이스를 돌려보자 (0) | 2022.09.28 |
Java while, if문) 반복문으로 은행앱을 만들어보자! (0) | 2022.09.28 |