자판기

2024. 7. 10. 17:29·(Java)코테연습

사용자가 볼 수 있게 메뉴를 표시합니다.

 

다음과 같은 음료를 실행창에 표시합니다.

  • 사이다 1,700원
  • 콜라 1,900원
  • 식혜 2,500원
  • 솔의눈 3,000원

사용자의 음료선택, 사용자의 음료 구입후 남은 금액까지 표시한다.

 

      import java.util.Map;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 음료 목록과 가격을 초기화
        Map<String, Integer> beverages = Map.of(
                "사이다", 1700,
                "콜라", 1900,
                "식혜", 2500,
                "솔의눈", 3000
        );

        Scanner scanner = new Scanner(System.in);

        // 사용자로부터 돈을 입력받음
        System.out.print("돈을 입력하세요: ");
        int coin = scanner.nextInt();
        scanner.nextLine(); // 버퍼 비우기

        // 음료 선택 및 구매 과정
        System.out.println("음료를 선택하세요: " + beverages.keySet());
        String userChoice = scanner.nextLine();

        // 선택한 음료가 목록에 있는지 확인
        if (beverages.containsKey(userChoice)) {
            int price = beverages.get(userChoice);

            // 돈이 충분한지 확인
            if (coin < price) {
                System.out.println("돈이 부족합니다.");
            } else {
                int remain = coin - price;
                System.out.println(userChoice + "를(을) 구매했습니다. 남은 돈: " + remain + "원");
            }
        } else {
            System.out.println("선택한 음료가 없습니다.");
        }

        scanner.close();
    }
}

    
  •  

 

주요 변경 사항 및 설명

  • 음료 목록 초기화:
    • Map.of를 사용하여 음료와 가격을 초기화합니다.
      Map<String, Integer> beverages = Map.of( "사이다", 1700, "콜라", 1900, "식혜", 2500, "솔의눈", 3000 );
  • 사용자로부터 돈을 입력받음:
    • scanner.nextInt()를 사용하여 돈을 입력받습니다. nextLine()을 사용하여 버퍼를 비웁니다.
    • Scanner scanner = new Scanner(System.in); System.out.print("돈을 입력하세요: "); int coin = scanner.nextInt(); scanner.nextLine(); // 버퍼 비우기

 

  • 음료 선택 출력:
    • beverages.keySet()을 사용하여 음료 목록을 출력합니다.
    • scanner.nextLine()을 사용하여 사용자의 선택을 입력받습니다.
    • System.out.println("음료를 선택하세요: " + beverages.keySet()); String userChoice = scanner.nextLine();

 

  • 선택한 음료가 목록에 있는지 확인하고, 돈이 충분한지 확인:
    • containsKey를 사용하여 선택한 음료가 목록에 있는지 확인합니다.
    • 돈이 충분한지 확인하고, 남은 돈을 계산하여 출력합니다.

 

 
\if (beverages.containsKey(userChoice))

{ int price = beverages.get(userChoice);

if (coin < price) { System.out.println("돈이 부족합니다."); }

else { int remain = coin - price; System.out.println(userChoice + "를(을) 구매했습니다. 남은 돈: " + remain + "원"); }

} else { System.out.println("선택한 음료가 없습니다."); }

 

  • Scanner 객체 닫기:
    • 입력 스트림을 닫아 리소스를 해제합니다.
    • scanner.close();
반응형

'(Java)코테연습' 카테고리의 다른 글

문자열끼리 크기 비교하는 경우  (0) 2024.07.12
각각의 배열에서 3개의 정수 합이 0이 되어야 하는경우  (2) 2024.07.12
이상한 문자 만들기 (split, toUpperCase, toLowerCase 사용)  (0) 2024.07.11
랜덤 닉네임 생성  (0) 2024.07.10
(자바 코테연습) 최대공약수와 최고 공배수  (0) 2024.07.10
'(Java)코테연습' 카테고리의 다른 글
  • 각각의 배열에서 3개의 정수 합이 0이 되어야 하는경우
  • 이상한 문자 만들기 (split, toUpperCase, toLowerCase 사용)
  • 랜덤 닉네임 생성
  • (자바 코테연습) 최대공약수와 최고 공배수
wanduek
wanduek
차근차근 쌓아가는 지식
  • wanduek
    완득님의 블로그
    wanduek
  • 전체
    오늘
    어제
    • 분류 전체보기 (194)
      • Onboarding (0)
      • 아티클 (0)
      • SQL 정리 (20)
      • 웹개발 기초정리(프엔) (9)
      • (Java)코테연습 (27)
      • 미니 프로젝트 (9)
        • 자기소개 웹페이지 (5)
        • 수강생 관리 프로그램(Java) (4)
      • GitHub 오류 및 명령어 정리 (7)
      • Java 문법정리 (Array부터) (17)
      • Java로 이용한 기능 (2)
      • Web지식 (12)
        • web3 (6)
        • 네트워크 (6)
      • 인텔리제이 오류 대처 방법 (1)
      • Computer Science (7)
      • Spring (38)
        • 미니 프로젝트(배달) (2)
        • Spring 트러블 슈팅 (3)
        • QueryDSL, JPQL (3)
        • 미니 프로젝트(뉴스피드) (5)
        • 미니 프로젝트(Trello) (2)
      • 개발자 밋업 (1)
      • Docker (2)
      • Redis (1)
      • AWS (6)
        • AWS 트러블 슈팅 (2)
      • Jmeter (2)
      • 우리 지금 만나 (12)
      • Kafka (1)
      • RabbitMQ (2)
        • 트러블 슈팅 (1)
      • STOMP (2)
      • WebSocket (3)
        • 트러블 슈팅 (2)
      • Node.js (2)
      • Elastic Search (2)
      • Nginx (1)
      • 퍼블엘 (2)
      • openresty (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    git
    where
    ㅏㄷ
    백앤드개발자 #초심자
    github
    groupby
    fetch
    jquery
    SQL
    json
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
wanduek
자판기
상단으로

티스토리툴바