일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java실습
- 자바
- 백준 2437
- java프로젝트
- 제약조건 확인
- 오라클 쿼리문
- java 도서관관리프로그램
- 자바 예제
- 오라클 그룹 함수
- 도서관 관리
- 도서관관리프로그램
- 오라클
- JAVA공부
- 자료구조
- java 백준
- 백준 저울
- 제약조건 설정
- 오라클 제약조건
- 백준 문제
- 자바 자료구조
- 코딩
- 오라클 기본 쿼리
- 자바 알고리즘
- java
- JAVA 예제
- oracle constraints
- 오라클 쿼리 함수
- ORACLE JOIN
- 오라클 인라인뷰
- 백준 자바
- Today
- Total
DEVELOPER NOMAD
[자바 자판기 프로그램] 만들기 자판기 메뉴 생성 ,수정,삭제 가능. 본문
소스파일 필요하시면 댓글달아주세요~!
자바 자판기 프로그램입니다. VO class 를 따로 만들어 사용하였습니다.
먼저 자판기의 VO 클래스입니다.
public class MachineVO {
private String drink_name;
private int drink_price;
private int drink_stock;
public String getDrink_name() {
return drink_name;
}
public void setDrink_name(String drink_name) {
this.drink_name = drink_name;
}
public int getDrink_price() {
return drink_price;
}
public void setDrink_price(int drink_price) {
this.drink_price = drink_price;
}
public int getDrink_stock() {
return drink_stock;
}
public void setDrink_stock(int drink_stock) {
this.drink_stock = drink_stock;
}
}
이어서 자판기 메소드 구현을위한 인터페이스 부분입니다.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class MachineActImpl implements MachineAct {
Scanner sc = new Scanner(System.in);
ArrayList<MachineVO> list = new ArrayList<>();
private int remain_money = 0;
@Override
public void insert_Coin() {
// TODO Auto-generated method stub
int ch;
System.out.println("돈을 넣어주세요.");
System.out.println("1 : 5000원 , 2: 1000원, 3: 500원, 4:100원 ");
ch = sc.nextInt();
switch (ch) {
case 1:
remain_money = remain_money + 5000;
System.out.println("투입금액 : 5000 ");
break;
case 2:
remain_money = remain_money + 1000;
System.out.println("투입금액 : 1000 ");
break;
case 3:
remain_money = remain_money + 500;
System.out.println("투입금액 : 500 ");
break;
case 4:
remain_money = remain_money + 100;
System.out.println("투입금액 : 100 ");
break;
}
System.out.println("사용 가능 금액:" + remain_money);
}
@Override
public void return_Coin() {
// TODO Auto-generated method stub
if(remain_money ==0 ) {
System.out.println("반환 할 돈이 없습니다.");
}
else {
remain_money = 0;
System.out.println("반환 완료");
System.out.println("사용 가능 금액:" + remain_money);
}
}
@Override
public void enter_Menu() {
// TODO Auto-generated method stub
MachineVO vo = new MachineVO();
System.out.println("자판기 메뉴 등록 ");
System.out.println("메뉴 이름 ? ");
vo.setDrink_name(sc.next());
System.out.println("메뉴 가격 ? (숫자만 입력)");
vo.setDrink_price(sc.nextInt());
System.out.println("재고 등록 (채울 개수)");
vo.setDrink_stock(sc.nextInt());
list.add(vo);
System.out.println("등록 완료");
}
@Override
public void print_Menu() {
// TODO Auto-generated method stub
System.out.println("메뉴");
MachineVO vo = new MachineVO();
Iterator<MachineVO> it = list.iterator();
while (it.hasNext()) {
vo = it.next();
System.out.print("제품명 :" + vo.getDrink_name() + " ");
System.out.print("가격 :" + vo.getDrink_price() + " ");
System.out.print("재고 개수:" + vo.getDrink_stock() + " ");
System.out.println();
}
}
@Override
public void choice_Menu() {
// TODO Auto-generated method stub
System.out.println("메뉴 선택");
print_Menu();
System.out.println();
String s;
MachineVO vo = new MachineVO();
Iterator<MachineVO> it = list.iterator();
System.out.println("원하는 제품명 입력");
s = sc.next();
while (it.hasNext()) {
vo = it.next();
if (s.equals(vo.getDrink_name())) {
if (vo.getDrink_stock() == 0) {
System.out.println("재고가 없습니다.");
break;
}
if(remain_money - vo.getDrink_price()<0) {
System.out.println("잔액이 부족 합니다.");
break;
}
remain_money = remain_money - vo.getDrink_price();
vo.setDrink_stock(vo.getDrink_stock() - 1);
System.out.println(vo.getDrink_name() + "출력완료, 남은돈 : " + remain_money + "재고 :" + vo.getDrink_stock());
}
}
}
@Override
public void enter_Stock() {
// TODO Auto-generated method stub
System.out.println("재고 충전");
String s;
int stock;
MachineVO vo = new MachineVO();
print_Menu();
System.out.println();
System.out.println("충전할 음료 명 입력");
s = sc.next();
Iterator<MachineVO> it = list.iterator();
System.out.println("충전할 재고 수량 입력");
stock = sc.nextInt();
while (it.hasNext()) {
vo = it.next();
if (s.equals(vo.getDrink_name())) {
vo.setDrink_stock(vo.getDrink_stock() + stock);
System.out.println(vo.getDrink_name() + " 충전완료 재고 : " + vo.getDrink_stock());
break;
}
}
}
@Override
public void delete_Menu() {
// TODO Auto-generated method stub
System.out.println("삭제할 제품명 입력");
String s;
MachineVO vo = new MachineVO();
print_Menu();
s = sc.next();
Iterator<MachineVO> it = list.iterator();
while (it.hasNext()) {
vo = it.next();
if (s.equals(vo.getDrink_name())) {
list.remove(vo);
System.out.println("삭제 완료.");
break;
}
}
}
@Override
public void update_Menu() {
// TODO Auto-generated method stub
System.out.println("수정 할 제품 명 입력");
String s;
MachineVO vo = new MachineVO();
print_Menu();
s = sc.next();
Iterator<MachineVO> it = list.iterator();
while (it.hasNext()) {
vo = it.next();
if (s.equals(vo.getDrink_name())) {
System.out.println("(수정) 메뉴 이름 ? ");
vo.setDrink_name(sc.next());
System.out.println("(수정) 메뉴 가격 ? (숫자만 입력)");
vo.setDrink_price(sc.nextInt());
System.out.println("(수정) 재고 입력 ");
vo.setDrink_stock(sc.nextInt());
System.out.println("수정 완료.");
break;
}
}
}
}
마지막으로 main 메소드 부분 클래스 입니다.
package vendingmachine;
import java.util.Scanner;
public class MachineApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
MachineActImpl mc = new MachineActImpl();
Scanner sc = new Scanner(System.in);
int ch;
while (true) {
do {
System.out.print("1.동전 투입 2.잔돈 반환 3.메뉴 선택 4.관리자 메뉴 5.종료=> ");
ch = sc.nextInt();
} while (ch < 1 || ch > 5);
if (ch == 5)
break;
switch (ch) {
case 1:
mc.insert_Coin();
break;
case 2:
mc.return_Coin();
break;
case 3:
mc.choice_Menu();
break;
case 4:
while (true) {
do {
System.out.print("1.메뉴 등록 2.메뉴 삭제 3.메뉴 수정 4.재고 등록 5.이전=> ");
ch = sc.nextInt();
} while (ch < 1 || ch > 5);
if (ch == 5)
break;
switch (ch) {
case 1:
mc.enter_Menu();
break;
case 2:
mc.delete_Menu();
break;
case 3:
mc.update_Menu();
break;
case 4:
mc.enter_Stock();
break;
}
}
break;
}
}
}
}
'JAVA(자바) > JAVA(자바) 프로젝트' 카테고리의 다른 글
JAVA 를 이용한 도서관 관리 프로그램 ( java library management program ) (2) | 2019.01.04 |
---|