(수정판) 로또 번호 생성기


/* 배열 응용 */
/* 로또 번호 생성기 */
/* 다른 사람 코드 참고해서 수정한 경우 */
package lambda;

public class Lambda {
	public static void main(String[] args) {
		new Main();
	}
}

/* 메인 코드 영역 */
class Main {
	private int[] lotto;

	Main() {
		this.lotto = new int[6];
		this.main();
	}

	/* 핵심 코드 영역 */
	private void main() {
		System.out.println(this.getTitle());
		// 엔터 입력
		try {
			System.in.read();
		} catch (Exception e) {
		}
		System.out.println(this.getLotto());
	}

	// 타이틀 반환
	private String getTitle() {
		StringBuilder sb = new StringBuilder();
		sb.append("***로또번호 생성기***\n");
		sb.append("시작하려면 Enter");
		return sb.toString();
	}

	// 로또 번호 반환
	private String getLotto() {
		StringBuilder sb = new StringBuilder();

		for(int i = 0; i < 6; i++) { // 6개 숫자니가 6바퀴
			this.lotto[i] = (int)(Math.random()*45) + 1; // 1 ~ 45의 랜덤 숫자
			for(int j = 0; j < i; j++) { // 자기 자신 제외 
				if(this.lotto[i] == this.lotto[j]) // 중복 비교 
					i--; // 중복 시 한번 더~
			}
		}

		for (int i = 0; i < 6; i++) { // 결과값 마지막 숫자 제외 공백 추가해서 출력
			sb.append((i != this.lotto.length - 1) ? this.lotto[i] + " " : this.lotto[i]);
		}
		return sb.toString();
	}
}

댓글

이 블로그의 인기 게시물

substring 예제: 문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라

단체 채팅 구현