1. 상품은 4개
2. 이름은 정하되
3. 가격, 재고 랜덤으로 설정
4. 1-구매 2-종료
5. 상품목록을 출력해주세요!
단, 재고가 없는 상품은 출력하지 않습니다.
ex) 1-콜라[3] 2-사이다[재고없음] 3-환타[4]
1 입력시 몇개구매?
2 입력시 재고가 없어서 구매가 불가능합니다!
4 입력시 없는 상품입니다!
package class04;
import java.util.Random;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Random rand=new Random();
Scanner sc=new Scanner(System.in);
int N=4; // 상품 4개
String mName[]=new String[N];
mName[0]="콜라";
mName[1]="사이다";
mName[2]="토레타";
mName[3]="물";
int mPrice[]=new int[N];
for(int i=0;i<mPrice.length;i++) {
mPrice[i]=(rand.nextInt(6)+10)*100;
// 10~15 x100 : 연산자 우선순위 이슈 체크!
}
int mCnt[]=new int[N];
for(int i=0;i<mCnt.length;i++) {
mCnt[i]=rand.nextInt(10);
}
while(true) {
System.out.println("1-구매 2-종료");
System.out.println("입력) ");
int action=sc.nextInt();
if(action==2) {
System.out.println("이용해주셔서 감사합니다:)");
System.out.println();
break;
}else if(action<1 || 2<action) {
System.out.println("유효하지 않는 값입니다.");
System.out.println("다시입력하세요!");
continue;
}
int num;
while(true) {
System.out.println("=== 메뉴판 ===");
for(int i=0;i<mName.length;i++) {
System.out.print((i+1)+". "+mName[i]+"[");
if(mCnt[i]==0) {
System.out.print("재고없음");
}else {
System.out.print(+mCnt[i]);
}
System.out.println("]");
}
System.out.println("=============");
System.out.print("구매 상품 입력) ");
num=sc.nextInt();
// 1~4사이이고, 재고도 있어야함
if((1<=num && num<=N)&& (mCnt[num-1]>0)) {
break;
}
if(num<1 || N<num) {
System.out.println("없는 상품입니다!");
}else if(mCnt[num-1]==0) {
System.out.println("재고가 없어서 구매가 불가능합니다!");
}
}
int cnt;
while(true){
System.out.println("선택한 상품은 "+mName[num-1]+"입니다.");
System.out.println("가격: "+mPrice[num-1]+"원"+" 재고:"+mCnt[num-1]+"개");
System.out.println("구매 개수 입력) ");
cnt=sc.nextInt();
if(cnt>=0 && mCnt[num-1]>=cnt) {
break;
}
System.out.println("잘못된 입력값입니다.");
System.out.println("다시 입력하세요!");
System.out.println();
}
int money;
int res=mPrice[num-1]*cnt;
while(true) {
System.out.println("금액: "+res+"원");
System.out.println("돈 입력) ");
money=sc.nextInt();
if(res<=money) {
break;
}
System.out.println("잘못된 입력값입니다.");
System.out.println("다시 입력하세요!");
System.out.println();
}
res=money-res;
if(res!=0) {
System.out.println("거스름돈: "+res+"원 반환 완료!");
}
System.out.println("구매 성공!");
System.out.println();
mCnt[num-1]-=cnt; // 장바구니 이슈를 생각해볼것!
}
}
}'Test > JAVA Test' 카테고리의 다른 글
| 작은 수 부터 큰 수까지 출력하세요 (0) | 2023.05.14 |
|---|---|
| 1시간20분 전 시간 출력 (0) | 2023.05.14 |
| 자판기 프로그램02 (0) | 2023.05.08 |
| 학생 6명에 대한 점수 구하기 (0) | 2023.05.08 |
| 나이에 맞게 금액 출력하세요. (0) | 2023.05.07 |