반응형
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
- this바인딩
- 포트폴리오
- 모던자바스크립트
- Promise.allSettled
- React.memo();
- await
- 게시판구현
- 이벤트버블링
- React
- Array.from
- Redux
- ES6
- javascript
- 하자있는방법
- 프로그래밍
- memo()
- 이벤트위임
- 상태관리도구
- Promise.any
- 자바스크립트
- 리액트
- 변수할당
- Promise.race
- stopPropagation
- state
- 이벤트캡쳐
- JSP
- hook
- 방법..?
- JSX문법
Archives
- Today
- Total
무브라더
[JAVA] 배열을 이용해서 로또번호 출력기를 만들기 본문
반응형
SMALL
1. 코드를 짜기 전에 해야 할 일을 순서대로 정리하기
1) 로또번호는 6개니까 길이가 6개인 정수 타입의 변수를 생성한다.
2) 1~45 번호 중 하나를 뽑는다.
3) 만약 뽑은 번호가 중복이면 다시 뽑고 중복이 아니면 배열에 넣는다.
4) 6개 번호를 다 뽑을 때까지 반복한다.
5) 6개의 번호를 출력한다.
2. 정리한 순대로 코드 짜 보기
package array_package;
public class Lotto {
public static void main(String[] args) {
// 길이가 6개인 정수 타입의 변수를 생성하고 바로 초기화까지 해주자
int[] lotto = new int[6];
// lotto[0]
// lotto[1]
// lotto[2]
// lotto[3]
// lotto[4]
// lotto[5]
int idx = 0; // lotto[idx]
// 중복된 숫자가 나올 수도 있기때문에 while문 사용
while (true) { // Math.random은 0부터 1미만의 랜덤실수를 구해주는 기능을 한다.
int num = (int) (Math.random() * 45 + 1);
// 1을 더하는 이유는 0.xx와 45를 곱하면 45보다 적어지기때문이고 소숫점자리를 없애주기 위해 강제형변환을 해줬다
boolean insert = true; //
for (int i = 0; i < lotto.length; i++) {
if (num == lotto[i]) {
insert = false;
break; // for문과 조건문을 사용해 중복된 숫자가 나오면 false로 변경해 로또 변수에 추가되지 않도록 한다.
}
}
if (insert == true) {
lotto[idx] = num;
idx++; // break구문 덕분에 만약 위에서 중복된 숫자가 나왔다면 이 구문은 실행되지 않는다.
}
if (idx == 6) {
break; // 길이는 6개이므로 인덱스는 0부터 5까지이다. 그러므로 6이되면 break 때문에 while문은 중단되게 된다.
}
}
System.out.println("예상로또번호는"); // 출력
for (int i = 0; i < lotto.length; i++) {
System.out.println(lotto[i]); // 출력
}
System.out.println("입니다."); // 출력
}
}
코드를 보니 너무 복잡하고 한눈에 들어오지 않는다..
검색해보니까 for문 만을 이용해서도 출력기를 만들 수 있었다.
다음엔 더 간결하고 보기 쉽게 짜 봐야겠다.
반응형
LIST
'Programming > Java' 카테고리의 다른 글
Comments