Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- inline
- Position
- html 프로젝트
- FlowLayout
- FFT
- html 기초
- iframe 태그
- g검정
- java
- FileWriter
- HTML
- CSS
- 푸리에 변환
- BorderLayout
- 사전학습
- Codility
- oracle
- css 기초
- GridLayout
- Database
- 반응형웹
- 퍼셉트론
- ObjectOutputStream
- 파이썬
- 예제
- 메서드
- rnn
- 미디어쿼리
- 반응형 웹 프로젝트
- 상속
Archives
- Today
- Total
도라에몽주머니
[Java/Eclipse] Java 24, 25일차 본문

예제
Lotto 번호를 자동으로 생성하는 프로그램을 작성하시오.
/* Lotto.java */
import java.util.Random;
import java.util.Scanner;
// 6/45 : 1 ~ 45 사이의 숫자 6개 사용
// Random : 임의의 데이터를 생성하는 클래스
public class Lotto {
int[] m; // 로또번호 6개 저장 (1세트)
int buyNum; // 구매횟수 저장
public Lotto() {
m = new int[6];
}
// 입력 : 구매횟수
public void inputBuyNum() {
Scanner sc = new Scanner(System.in);
System.out.print("구매횟수를 입력하세요 : ");
buyNum = sc.nextInt();
System.out.println(); // 1줄 넘김
}
// 로또번호 1세트 생성
// 1~45 사이의 숫자 6개
// 각 번호가 중복되면 안됨
public void selectLotto() {
Random random = new Random();
boolean chk = false; // 번호 중복 상태 저장. true : 번호가 중복됨
// 첫번째 번호 생성
// random.nextInt(45) : 0 ~ 44 사이의 정수 1개 생성
m[0] = random.nextInt(45) + 1;
// 나머지 5개 숫자 생성
// 생성된 숫자가 기존의 숫자와 중복되는지 검사
for(int a=1; a<6;) {
m[a] = random.nextInt(45) + 1;
chk = false;
// 중복 검사
for(int b=0; b<a; b++) {
if(m[a] == m[b]) {
chk = true;
break;
}
}
if(!chk) a++;
}
}
// 로또번호 1세트 오름차순 정렬
public void sort() {
for(int a=0; a<=5; a++) {
for(int b=a+1; b<6; b++) {
if(m[a] > m[b]) {
// 데이터 위치 바꾸기
int temp = m[a];
m[a] = m[b];
m[b] = temp;
}
}
}
}
// 로또번호 1세트 출력
public void outputResult() {
for(int i=0; i<m.length; i++) {
System.out.printf("%2d ", m[i]);
}
System.out.println();
}
// 구매횟수만큼 반복
public void doLotto() {
inputBuyNum();
for(int i=0; i<buyNum; i++) {
selectLotto();
sort();
outputResult();
}
}
}
static
: 변수나 메소드에 사용되는 키워드로서, 인스턴스(객체)를 선언하지 않고 클래스를 사용할 수 있게 해줌. (new 키워드를 통해 객체를 선언할 필요 X)
* 단, 프로그램 내에서 공통으로 값을 유지하고 싶을 경우에만 사용해아 함. (참고 : https://ifcontinue.tistory.com/2)
package
: 비슷한 성격의 자바 클래스들을 모아둔 디렉토리.
toString 메소드
: 객체가 가지고 있는 정보나 값들을 문자열로 만들어서 리턴하는 메소드. 주로 toString 메소드의 값을 새로운 클래스로 오버라이드해서 의미있는 값으로 사용한다.
'Study > Java' 카테고리의 다른 글
| [Java/Eclipse] Java 27일차 (0) | 2022.10.24 |
|---|---|
| [Java/Eclipse] Java 26일차 (0) | 2022.10.21 |
| [Java/Eclipse] Java 23일차 (0) | 2022.10.18 |
| [Java/Eclipse] Java 22일차 (0) | 2022.10.17 |
| [Java/Eclipse] Java 19 - 21일차 (0) | 2022.10.17 |