오늘 오전에 언어 스터디를 했는데 조원분이 너무 멋진 객체지향 예제(보러가보세요!)를 보여주셔서 자극을 받아 바로 만들어 봅니다. 저는 식당 메뉴 별로 가격을 정하고 판매량 입력 후 매출 정산하는 프로그램을 만들어 보려고 합니다.
필드 선언
public class restaurantRevenue {
//필드 선언
private int price;
private int revenue;
private String menu;
private int sold;
//기본 생성자
restaurantRevenue () {}
//매개변수를 가진 생성자
public restaurantRevenue(String menu, int price, int sold, int revenue) {
this.menu = menu;
this.price = price;
this.sold = sold;
this.revenue = revenue;
}
// getter setter 단축키 cmmd + N
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getRevenue() {
return revenue;
}
public void setRevenue(int revenue) {
this.revenue = revenue;
}
public int getSold() {
return sold;
}
public void setSold(int sold) {
this.sold = sold;
}
public String getMenu() {
return menu;
}
public void setMenu(String menu) {
this.menu = menu;
}
}
메뉴 입력 프로그램 만들기
import java.util.Scanner;
public class revenueExample {
private Scanner scanner = new Scanner(System.in);
private restaurantRevenue newMenu = null; //새 메뉴가 저장될 객체
public revenueExample (){}; //기본 생성자
public void display() { //메뉴화면 메소드
int option = 0;
do {
System.out.println("=====*메뉴입력하기*=====");
System.out.println("1. 메뉴입력");
System.out.println("2. 판매량입력");
System.out.println("3. 매출보기");
System.out.println("0. 종료하기");
System.out.print("선택>>");
option = scanner.nextInt();
switch (option) {
case 1:
System.out.println(entermenu());
break;
case 2:
System.out.println(sold());
break;
case 3:
System.out.println(revenue());
break;
case 0:
System.out.println("프로그램 종료!");
break;
default:
System.out.println("다시 입력해주세요 -_-^");
}
}
while (option != 0);
}
public String entermenu(){ //메뉴입력하기
System.out.println("=====메뉴입력=====");
System.out.print("메뉴명> ");
String menu = scanner.next();
System.out.print("가격> ");
int price = scanner.nextInt();
newMenu = new restaurantRevenue(menu, price,0,0);
return "메뉴명:"+menu+" 가격: "+price+"원";
}
public String sold(){
System.out.println("=====판매량입력=====");
System.out.print("메뉴명> ");
String menu = scanner.next();
System.out.print("판매량> ");
int sold = scanner.nextInt();
if(menu.equals((newMenu.getMenu()))){
newMenu = new restaurantRevenue(menu, newMenu.getPrice(), sold, sold* newMenu.getPrice());
return "메뉴명: "+ menu + " 판매량: "+sold;
}else {
return "메뉴정보가 없습니다.";
}
}
public String revenue(){
System.out.println("=====매출보기=====");
System.out.print("메뉴명> ");
String menu = scanner.next();
if(menu.equals((newMenu.getMenu()))) {
return "메뉴명 " + menu + " 매출: " + newMenu.getRevenue();
} else{
return "메뉴정보가 없습니다.";
}
}
public static void main(String[] args) {
revenueExample revenue = new revenueExample();
revenue.display();
}
}
결과
=====*메뉴입력하기*=====
1. 메뉴입력
2. 판매량입력
3. 매출보기
0. 종료하기
선택>>1
=====메뉴입력=====
메뉴명> pasta
가격> 25000
메뉴명:pasta 가격: 25000원
=====*메뉴입력하기*=====
1. 메뉴입력
2. 판매량입력
3. 매출보기
0. 종료하기
선택>>2
=====판매량입력=====
메뉴명> pasta
판매량> 12
메뉴명: pasta 판매량: 12
=====*메뉴입력하기*=====
1. 메뉴입력
2. 판매량입력
3. 매출보기
0. 종료하기
선택>>3
=====매출보기=====
메뉴명> pasta
메뉴명 pasta 매출: 300000
=====*메뉴입력하기*=====
1. 메뉴입력
2. 판매량입력
3. 매출보기
0. 종료하기
선택>>2
=====판매량입력=====
메뉴명> rice
판매량> 40
메뉴정보가 없습니다.
=====*메뉴입력하기*=====
1. 메뉴입력
2. 판매량입력
3. 매출보기
0. 종료하기
선택>>3
=====매출보기=====
메뉴명> risotto
메뉴정보가 없습니다.
=====*메뉴입력하기*=====
1. 메뉴입력
2. 판매량입력
3. 매출보기
0. 종료하기
선택>>0
프로그램 종료!
Process finished with exit code 0
매우 간단하지만 굿 실습이었습니다.
'TIL' 카테고리의 다른 글
TIL 221125 객체지향 과제 (0) | 2022.11.26 |
---|---|
TIL 알고리즘 테스트 review 221124 (1) | 2022.11.25 |
TIL 알고리즘 모의고사 1~3 review 221122 (0) | 2022.11.22 |
TIL 자바 java 프로그래머스 알고리즘 문제 풀기 221121 (0) | 2022.11.21 |
TIL/WIL 부트캠프 1주차 회고 221120 (1) | 2022.11.20 |