Skip to content
This repository was archived by the owner on Sep 5, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions src/GUI.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
public class GUI{


public void roleGUI() {
System.out.println("----- 권한 설정 -----");
System.out.println("1. ADMIN");
System.out.println("2. USER");
}

public void martGUI(){
System.out.println("-----대소고 마켓-----");
System.out.println("1. 물건 구매");
System.out.println("2. 코인 잔액 출력");
System.out.println("3. 권한 설정");
System.out.println("4. 나가기 (종료)");
}

public void adminGUI(){
System.out.println("-----어드민 페이지-----");
System.out.println("1. 물건 추가");
System.out.println("2. 코인 설정");
System.out.println("3. 물건 조회");
System.out.println("4. 권한 설정");
System.out.println("5. 나가기 (종료)");
}
}
97 changes: 90 additions & 7 deletions src/Main.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,98 @@
import java.util.Scanner;

public class Main {
//사용자 객체를 생성합니다.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
GUI gui = new GUI();
User user = new User();
Market market = new Market();

while (true) {
gui.roleGUI();
int role = sc.nextInt();

switch (role) {
case 1: // 어드민 페이지
while (true) {
gui.adminGUI();
int adminNumber = sc.nextInt();

switch (adminNumber) {
case 1: // 마켓의 물건 추가
System.out.println("추가할 물건을 입력하세요 : ");
String item = sc.next();
System.out.println("추가할 물건의 가격을 입력하세요 : ");
int price = sc.nextInt();
market.addItem(item, price);
break;

case 2: // 사용자 초기 코인 설정
System.out.println("설정할 코인의 값을 입력하세요 : ");
int coin = sc.nextInt();
user.setCoin(coin);
break;

case 3: // 마켓에서 사용자가 주문한 물건 목록
market.showList();
break;

case 4: // 권한 설정
break;

case 5: // 시스템 종료
System.exit(1);
break;

default:
System.out.println("번호를 잘못 입력하셨습니다.");
break;
}

if (adminNumber == 4) {
break;
}
}
break;

case 2: // 유저 페이지
while (true) {
gui.martGUI(); // GUI 세팅
int userNumber = sc.nextInt();

switch (userNumber) {
case 1: // 사용자 물건 구매
market.showItem();
String item = sc.next();
user.setCoin(user.getCoin() - market.buyItem(item));
System.out.println("구매후 코인은 " + user.getCoin() + "원 입니다.");
break;

//마켓 객체를 생성합니다.
case 2: // 코인 조회
System.out.println("보유중인 코인은 " + user.getCoin() + "원 입니다.");
break;

//마켓의 물건들을 추가 합니다.
case 3: // 권한 설정
break;

//사용자의 초기 코인을 설정 합니다.
case 4: // 시스템 종료
System.exit(1);
break;

//사용자가 물건을 구매합니다.
default:
System.out.println("번호를 잘못 입력하셨습니다.");
break;
}

//구매후 사용자의 코인 잔액을 출력합니다.
if (userNumber == 3) {
break;
}
}
break;

//마켓에서 사용자가 주문한 물건들의 목록을 불러 옵니다.
default:
System.out.println("번호를 잘못 입력하셨습니다.");
break;
}
}
}
}
57 changes: 57 additions & 0 deletions src/Market.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Market{
private int itemPrice = 0;
HashMap<String, Integer> map = new HashMap<>();
ArrayList list = new ArrayList();


// ADMIN 아이템 저장 로직
public void addItem(String item, int price){
map.put(item,price);
}

// 저장된 상품 보여주는 로직
public void showItem(){
System.out.println("현재 등록된 상품 갯수 : " + map.size());
List<String> keyList = new ArrayList<>(map.keySet());
keyList.sort(String::compareTo);
for (String key : keyList) {
System.out.println("[ " + key + "의 가격은 " + map.get(key) + "원 입니다. ]" );
}
}

//아이템 검색 및 구매 로직
public int buyItem(String item){
int check = 0; // item 값이 있는지 없는지 체크
String[] arr = new String[100];
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String name = entry.getKey();
if (name.contains(item)) {
this.itemPrice=entry.getValue();
list.add(entry.getKey());
check+=1;
}
}
if(check == 0) {
System.out.println("잘못 입력하셨습니다.");
}
return this.itemPrice;
}
// 구매한 물건 조회
public void showList(){
if (list.size() == 0){
System.out.println("물건이 존재하지 않습니다.");
}
else {
for (int i=0; i<list.size(); i++){
System.out.println(i+1 + ". : " + list.get(i) + " 구매함.");
}
}
}


}
14 changes: 14 additions & 0 deletions src/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import java.util.List;

public class User{

private int coin;
public void setCoin(int coin){
this.coin = coin;
}

public int getCoin() {
return coin;
}

}