관리 메뉴

nkdk의 세상

자바 Language 자판기 소스 입니다. 본문

My Programing/JAVA

자바 Language 자판기 소스 입니다.

nkdk 2008. 3. 8. 01:05
package japanki2;

public class CoinIn {
private int coin = 0;
private int jandon =0;

public void calc(int co, int men, int gesu) {
if (co < gesu * 200) {
System.out.println("잔액이 부족합니다.");
this.jandon += co;
return;
}
jandon = co - (gesu * 200);
if(men ==1)
System.out.printf("코인 %d원으로 블랙커피 %d개를 샀습니다. 잔액: %d원\n", co, gesu, jandon);
else System.out.printf("코인 %d원으로 프커피 %d개를 샀습니다. 잔액: %d원\n", co, gesu, jandon);
}

public void coinSetter(int coins) {
this.coin = coins;
}

public int coinGetter()
{
return this.coin;
}
public int jandonGetter()
{
return this.jandon;
}

}

package japanki2;

public class Machine {
public final int CUP =1;
private int cupcount;
private int coffee=20, preme=10, sugar=10, water=60, bcoffee=30, bwater=70;
String names;
CoinIn coinsss;
public Machine(String name) {
names = name;
coinsss = new CoinIn(); // 포함
}
public void setAdmin(String pwd, String sel, int coffee, int preme, int sugar, int water) {
if(pwd.equals("sk"))
setPreme(coffee, preme, sugar, water);
else System.out.println("비밀 번호가 틀렸습니다.");
}
public void setAdmin(String pwd,String sel,int coffee,int water){
if(pwd.equals("sk"))
setBlack(coffee, water);
else System.out.println("비밀 번호가 틀렸습니다.");
}
private void setBlack(int coffee, int water) {
setCoffee(1, coffee);
setWater(1, water);
}
private void setPreme(int coffee, int preme, int sugar, int water) {
setCoffee(2, coffee);
setWater(2, water);
setPreme2(preme);
setSugar(sugar);
}
private void setCoffee(int i, int cof) {
if(i == 2)
this.coffee = cof;
else this.bcoffee = cof;
}
private void setPreme2(int pre) {
this.preme = pre;
}
private void setSugar(int sug) {
this.sugar = sug;
}
private void setWater(int i, int wat) {
if(i == 2)
this.water = wat;
else this.bwater = wat;
}
public void getBlack() {
System.out.printf("블랙커피의 조절양-> 커피: %d%% 물: %d%%\n", bcoffee, bwater);
}
public void getPreme() {
System.out.printf("프림커피의 조절양-> 커피: %d%% 프림: %d%% 설탕: %d%% 물: %d%%\n ",
coffee, preme, sugar, water);
}
}

package japanki2;

public class MachineUSE {

public static void main(String[] args) {
Machine mols=new Machine("길동");
while(true) {
// 3번은 종류
System.out.println("모드를 선택하세요.\n1.관리자 2. 일반고객 3. 종료\n선택하세요(1,2,3):");
java.util.Scanner modes=new java.util.Scanner(System.in);
int mode=modes.nextInt();
if(mode == 3) {
System.out.println("종료 합니다. 다음에 또 오세요.^^");
break;
}
// 1번은 관리자 모드 돌입
if(mode == 1) {
System.out.println("비밀번호를 입력하세요.:");
java.util.Scanner passs=new java.util.Scanner(System.in);
String pass=passs.nextLine();
System.out.println("종류설정(1:프림, 2:블랙): ");
java.util.Scanner etcs=new java.util.Scanner(System.in);
int etc=etcs.nextInt();
// 프림과 블랙을 나누는 etc 변수를 선언하여 비교합니다.
if (etc == 1) {
mols.getPreme();
System.out.println("커피양 입력: ");
java.util.Scanner coffs=new java.util.Scanner(System.in);
int coff=coffs.nextInt();
System.out.println("프림양 입력: ");
java.util.Scanner prem=new java.util.Scanner(System.in);
int pre=prem.nextInt();
System.out.println("설탕양 입력: ");
java.util.Scanner suga=new java.util.Scanner(System.in);
int sug=suga.nextInt();
System.out.println("물의양 입력: ");
java.util.Scanner wate=new java.util.Scanner(System.in);
int wat=wate.nextInt();
System.out.println(pre+" "+sug);
mols.setAdmin(pass, "프림", coff, pre, sug, wat);
mols.getPreme();
}
else if (etc == 2) {
mols.getBlack();
System.out.println("커피양 입력: ");
java.util.Scanner coffs=new java.util.Scanner(System.in);
int coff=coffs.nextInt();
System.out.println("물의양 입력: ");
java.util.Scanner wate=new java.util.Scanner(System.in);
int wat=wate.nextInt();
mols.setAdmin(pass, "블랙", coff, wat);
mols.getBlack();
}
else System.out.println("잘못된 종류입니다. 다시 설정합니다.");
}
// 2번은 일반 고객 모드
else if(mode ==2){
while(true) {
if(mols.coinsss.jandonGetter() > 0)
System.out.println("현재 기계에 "+ mols.coinsss.jandonGetter()+"원이 있습니다.");
System.out.println("코인을 입력해 주세요.(0: 끝냄)");
java.util.Scanner coins=new java.util.Scanner(System.in);
int coin=coins.nextInt();
if (coin == 0) {
if(mols.coinsss.jandonGetter() >0 )
System.out.println("잔돈이 떨어집니다. 딸그락 "+mols.coinsss.jandonGetter()+"원 떨어졌습니다. 다음에 또 오세요. ^^");
else System.out.println("다음에 또 오세요 안녕~!");
break;
}
if(mols.coinsss.jandonGetter() > 0)
coin += mols.coinsss.jandonGetter();
System.out.println("현재 코인이 "+coin + " 원 있습니다.");
if (coin < 200) {
System.out.println("코인이 너무 적습니다. 돈을 더 넣어주세요.\n기계 에서 돈이 나왔습니다.");
continue;
}
System.out.println("메뉴를 선택하세요(1.블랙, 2: 프림):");
java.util.Scanner menuss=new java.util.Scanner(System.in);
int menu=menuss.nextInt();
if (menu != 1 && menu != 2) {
System.out.println("그런 커피는 없습니다.\n기계에서 잔돈이 나왔습니다.");
continue;
}
if(menu == 1)
mols.getBlack();
else mols.getPreme();

System.out.println("몇 잔을 원하세요 ==> ");
java.util.Scanner gesus=new java.util.Scanner(System.in);
int gesu=gesus.nextInt();
mols.coinsss.calc(coin, menu, gesu);

}

}



}




}
}

입니다. 오츠까레~