로또 번호 생성 프로그램 -(Java)

SJW·2023년 7월 19일
0
  • for문, Math.random을 이용한다.

Math.random()

  1. 0.0 이상 1.0미만의 수를 랜덤으로 제공한다.
  2. Math.random()의 반환 타입은 double이다.

ex)
활용) 그럼 1이상 10미만 수를 전부 출력해보자!

  • 오류
    계속 0만 출력된다.
    찾아보니 이는 연산자 우선순위 때문에 발생하는 문제였다.

(int) Math.random()*10 -> 0.0이상 1.0미만에 먼저 10을 곱해서 0.0이상 10.0미만이 되고 그 다음에 int 타입으로 변경이 되는줄 알았으나
괄호가 사칙연산보다 우선순위가 높다.
즉, 방금 내가 작성한 코드의 의미는
1.Math.random을 먼저 int로 변경 2.int는 정수이다. 소수점이 없다는 의미이다. 0이상 1미만이 된다. 3. 출력가능한 수가 0밖에 없다.

  • 수정

    -> 1. 괄호끼리 분리가 된다. 2. (int)(0.0이상~10.0미만) 3. 정수형으로 변경이 된다. 0이상~ 10미만(자연수 0~9까지만 가능)
  • 응용

로또 번호 생성 프로그램

  • 사실 처음에 계획했던 부분은 다 구현했으나 뭔가 좀 깔끔하게(?) 오름차순도 적용해 보고자 한다.

(작성 코드: https://github.com/sksjw95/lottery)

2개의 댓글

comment-user-thumbnail
2023년 7월 19일

이런 좋은 글을 작성해주셔서 감사합니다.

1개의 답글