워누입니다!
공부하다 심심해서 로또 프로그램을 만들었는데 중요한 개념이 몇개 들어가 있어서 재밌겠다 싶어 공유하고자 합니다.
만약 더 재밌거나 더 개선된 코드가 있다면 언제든 댓글로 남겨주세요!
.
거두절미하고 먼저 소스부터 보겠습니다!
.
주석을 달기는 하였으나, 여기서 같이 봐야할 함수들, 메서드들을 같이 봅시다!
1. Math.random()
Math 함수는 java.lang 패키지에 포함된 함수로, 수학적 연산에 관련된 메서드를 지원합니다.
random() 메서드가 그 중 하나입니다!
.
그럼 random() 메서드는 무슨 메서드냐? 바로 0.0부터 1.0사이의 실수(double)를 무작위로 응답하는 메서드입니다. 그냥 써버리면 0.242146.., 0.5, 0.9815 등 이상한 소수를 응답할 수도 있다는 이야기입니다.
이를 방지하기 위해 무작위로 응답한 소수에 45를 곱하고 그 뒤에 1을 더한 후 이를 int로 타입 변환을 시도합니다.
이렇게 되면 정수형 변수 타입을 가지기 때문에 소수점 없이,
그리고 1을 무조건 더했으므로 0 없이 1~45 이내의 숫자를 출력할 수 있게 합니다.
2. Arrays.sort()
Arrays 함수는 java.util 패키지에서 제공하는데, 그냥은 쓸 수 없습니다!
상단에 반드시 "import java.util.*"을 명시하여야만 사용할 수 있습니다.
주로 배열에 관련된 메서드를 지원하는 함수이고, 그 안에 sort() 메서드가 있는 것입니다.
.
여기서 sort()는 말 그대로 정렬시켜주는 메서드입니다. () 괄호 안에는 클래스에서 선언한 배열을 입력합니다.
이미지 내 소스처럼 sort(lotto)라고 쓰게 되면,
lotto라는 배열 안에 들어간 값들을 오름차순으로 정렬하는 역할인 것입니다!
.
위 두개의 내용을 참고하여 상기 소스를 직접 입력해보시면 재미를 느끼실 수 있습니다.
Lotto 클래스를 실행한 결과는 아래와 같습니다.
.
.
진짜 로또처럼 숫자 여섯개가 나왔네요! 이걸로 진짜 로또에서..(크흠)
농담이구요! 상기 소스는 어려운 내용이 아니어서 직접 코딩해보시고 공부해보길 권장합니다.
.
시간이 12시 26분이네요~ 전 이제 내일 출근을 위해 자러가야 할 듯 합니다 ㅎㅎ
오늘 포스팅에 대한 질문은 언제든 댓글을 남겨주세요!! 그럼 이만 이번 포스팅 줄일게요! 안녕~~~
'Java 공부하기' 카테고리의 다른 글
[JAVA] 문자열 비교하기(equals와 ==의 차이는 무엇일까?) (0) | 2020.09.09 |
---|---|
문자열 가지고 놀기(trim, substring, charAt) (0) | 2020.09.06 |
[JAVA] JAVA에서 향상된 For문 쓰기! (2) | 2020.08.30 |
자바로 달력을 만들어보자! (0) | 2018.03.02 |
자바 ComboBox와 ImageIcon으로 이미지를 가지고 놀아보아요! (0) | 2017.11.13 |