자바(JAVA) 로또 프로그램 만들기

자바 로또 프로그램 만들기(Coding by So)

숫자 6개를 입력받아서 배열에 저장(6개가 아니면 다시 입력)

랜덤하게 생성된 로또값(1~45, 중복 X)과 비교, 맞은개수를 확인하여 등수 출력

자세한 설명은 코드에 주석으로 달아놨으니 참고하면 될듯

package game82;
import java.util.Scanner;  
import java.util.Random;

public class FinalLotto {

	public static void main(String[] args) {
		//변수 선언
		String[] splitedValue;
		int[] numbers = new int[6];
		int cnt = 0;
		//스캐너 입력 준비
		Scanner sc = new Scanner(System.in);
		//사용자에게 숫자 입력받기
		while(true) {
		System.out.println("숫자 여섯개를 입력해주세요.");
		
		String inputValue = sc.nextLine();
		//입력받은 숫자를 띄어쓰기로 구분하기
		splitedValue = inputValue.split(" ");
		//사용자가 여섯개의 숫자를 입력하지 않았을 경우 에러메시지 
		if(splitedValue.length!=6) {
			System.out.println("6개를 입력해주세요.");
		}else break;
		}
	    //분리한 값을 숫자로 변환해 배열 저장 후 출력
		for(int i = 0; i < 6; i++) {
			numbers[i] = Integer.parseInt(splitedValue[i]);
			System.out.print(numbers[i] + " ");
			if(i==5) {
				System.out.print("\n");
			}
		}
		//lotto함수로 보낸 후, 로또 맞은 숫자 받아오기
		cnt = lottoMachine(numbers);
		//숫자 print 함수로 보낸 후 출력
		printMachine(cnt);
	}
	
	///////////로또 함수
	static int lottoMachine(int[] numbers) {
		//난수 설정
		Random rd = new Random();
		//변수 설정
		int[] lottoValue = new int[6];
		int cnt = 0;
		//6개의 난수로 배열 초기화하기
		for(int i = 0; i < 6; i++) {
			lottoValue[i] = rd.nextInt(45)+1; //+1을 해야 1~45 숫자 받아옴
			for(int j = 0; j < i;j++) {
				if(lottoValue[i]==lottoValue[j]) {
					i--; //중복 난수값 제거
				}
			}
		}
		System.out.println("****당첨숫자****");
		//난수값 출력하기
		for(int i = 0; i < 6;i++) {
			System.out.print(lottoValue[i]+" ");
			if(i==5) {
				System.out.print("\n");
			}
		}
		//사용자 입력값과 난수값 중복 체크해서 count
		for(int i = 0; i < 6; i++) {
			for(int j = 0; j < 6; j++) {
				if(lottoValue[i]==numbers[j]) {
					cnt++;
				}
			}
		}
		//일치하는 숫자 반환
		return cnt;
	}
	
	///////////출력 함수
	static void printMachine(int count) {
		System.out.println(count + "개 맞았다잉");
		//맞춘 갯수에 맞춰서 결과값 출력
		if(count==6) {
			System.out.println("1등 대박 터졌다잉");
		}else if(count==5) {
			System.out.println("2등 대박 터졌다잉");
		}else if(count==4) {
			System.out.println("3등 대박 터졌다잉");
		}else if(count==3) {
			System.out.println("4등 오천원 가져가라잉");
		}else System.out.println("꽝이다 꽝");
	}
}

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link