티스토리 뷰
안녕하세요! 오늘은 난수(Random Number)에 대해 알아봅시다!
난수(Random Number) - 0 ~ 1 미만의 값을 난수로 생성
난수를 만들기 위해서는 크게 두 가지 방법이 있습니다. Math 클래스를 이용하는 방법과 Random 클래스를 이용하는 방법이 있습니다.
1. Math 클래스 이용
난수는 0 ~ 1미만의 값을 생성하지만 0 ~ 0.99999...으로 알아두신다면 Math 클래스를 이용하실 때 더욱 쉽게 이해가 가능합니다.
0 ~ 9까지의 난수 만들기
public class RandomNum {
public static void main(String[] args) {
// 1. 0 ~ 9까지의 난수 만들기
int rn = (int)(Math.random() * 10);
}
}
오라클 독스에서 Math 클래스의 random 메서드는 기본적으로 타입이 double입니다. 확인하고 싶다면 Math.random()을 여러 번 출력해봐도 실수로 나옵니다. 그렇기 때문에 0.0 ~ 0.99999...에 10을 곱해서 0.0 ~ 9.99999...로 숫자가 무작위로 나오도록 써준후 int(정수형)로 캐스팅(Casting) 해주면 0 ~ 9까지의 난수를 뽑을 수 있습니다.
1 ~ 10까지의 난수 만들기
public class RandomNum {
public static void main(String[] args) {
// 1. 1 ~ 10까지의 난수 만들기
int rn = (int)(Math.random() * 10) + 1; // <- 1만 더해주면 됩니다.
}
}
1 ~ 45까지의 난수 만들기
public class RandomNum {
public static void main(String[] args) {
// 1. 0 ~ 9까지의 난수 만들기
int rn = (int)(Math.random() * 45) + 1;
}
}
뽑고자 하는 숫자를 곱해주고 + 1을 하면 난수 범위를 쉽게 만들 수 있습니다.
만약 1 ~ 57까지의 난수를 만들고 싶다면 57을 곱하고 1을 더해주면 됩니다.
2. Random 클래스 이용
0 ~ 9까지의 난수 만들기
import java.util.Random;
public class RandomNum {
public static void main(String[] args) {
Random r = new Random();
// 0 ~ 9까지의 난수
int rn = r.nextInt(10);
}
}
오라클 독스에서 많은 개발자들이 Math클래스의 random 메서드를 선호 한다고 적어놨습니다. 코드가 짧을 때는 Random클래스를 이용하는 게 직관적으로 보이기 때문에 숫자가 쉬워 보이지만 코드가 엄청나게 길어진다면 import도 엄청 많을 것이고 변수 선언도 많기 때문에 헷갈린다는 단점이 있습니다.
1 ~ 10까지의 난수 만들기
import java.util.Random;
public class RandomNum {
public static void main(String[] args) {
Random r = new Random();
// 1 ~ 10까지의 난수
int rn = r.nextInt(10) + 1;
}
}
역시 1을 더해주면 해결입니다.
본 내용은 강남 이젠아카데미컴퓨터학원에서 배운 내용을 복습하는 과정입니다.
링크 : https://gn.ezenac.co.kr/
'Java' 카테고리의 다른 글
[Java] Class(1) (0) | 2022.08.07 |
---|---|
[Java] 메소드(Method) (0) | 2022.08.06 |
[Java] 배열(Array)_2 (0) | 2022.08.01 |
[Java] 배열(Array) (0) | 2022.08.01 |
[Java] For문 예제 (0) | 2022.08.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- for문
- 프로그래머스
- 타입 좁히기
- Typescript
- method
- 메서드
- 동기코딩
- 반복문
- em
- Margin
- Python
- Type
- 자바스크립트
- 함수
- html table
- Object
- 타입스크립트
- 실수
- 파이썬
- 객체
- HTML 기본
- if문
- CSS 포지션
- function
- CSS
- Array
- css position
- padding
- html
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함