Jun's Blog

[Java] 로또 프로그램 본문

High Java/Collection FrameWork

[Java] 로또 프로그램

Fizzyelf 2020. 10. 8. 20:50

문제)  로또를 구매하는 프로그램 작성하기
 
 사용자는 로또를 구매할 때 구매할 금액을 입력하고
 입력한 금액에 맞게 로또번호를 출력한다.
 (단, 로또 한장의 금액은 1000원이고 거스름돈도 계산하여
      출력한다.)

==========================
         Lotto 프로그램
--------------------------
 1. Lotto 구입
  2. 프로그램 종료
==========================  
메뉴선택 : 1  <-- 입력

 Lotto 구입 시작
 
(1000원에 로또번호 하나입니다.)
금액 입력 : 2500  <-- 입력

행운의 로또번호는 아래와 같습니다.
로또번호1 : 2,3,4,5,6,7
로또번호2 : 20,21,22,23,24,25

받은 금액은 2500원이고 거스름돈은 500원입니다.

     ==========================
         Lotto 프로그램
--------------------------
  1. Lotto 구입
  2. 프로그램 종료
==========================  
메뉴선택 : 2  <-- 입력

감사합니다

 


 

import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;


public class Lotto {

   public static void LottoBuy() {

      System.out.println("로또 한 장의 금액은 1000원 입니다.");

      System.out.println("현재 소지한 금액을 입력하세요");
      Scanner sc = new Scanner(System.in);
      int user = sc.nextInt();

      if (user > 1000) {
         System.out.println("행운의 로또 번호는 아래와 같습니다.");
         System.out.println();
         for (int i = 1; i <= user / 1000 ; i++) {
            Set<Integer> lotto = new HashSet<>();
            while (lotto.size() < 6) {
               int random = (int) (Math.random() * 45 + 1);
               lotto.add(random);
            }
            System.out.println(lotto);
         }
         System.out.println();
         System.out.println("받은 금액은" + user + "원이고 거스름돈은" + user % 1000 + "입니다");
         System.out.println("======================================");

      }

   }

   public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);
      System.out.println("=======================================");
      System.out.println("Lotto 프로그램");

      System.out.println("1. Lotto 구입");
      System.out.println("2. 프로그램 종료");
      while (true) {
         int input = sc.nextInt();
         switch (input) {
         case 1:
            // 1. Lotto 구입
            LottoBuy();
            break;
         case 2:
            // 2.프로그램 종료
            System.exit(0);
         default:
            System.out.println("잘못입력하셨습니다.");
            break;
         }

      }

   }
}
Comments