Java에서 지정된 구간을 가져오는 방법
자바 프로그램을 작성할 때 랜덤 수를 많이 사용했지만 한 번에 한 번씩 찾아봤습니다. 이번에는 요약을 하겠습니다. 자바에서 얻은 랜덤 수의 발생을 명확하게 하고 나중에 직접 자신의 이 글을 참고하면 됩니다.
Java에는 다음과 같은 두 가지 클래스가 있습니다.
java.util.Random과java.Math.Random
Java 유틸리티 라이브러리의 클래스java.util.Random은 다양한 유형의 랜덤 수를 생성하는 방법을 제공합니다.이것은 int,long,float,double,Goussian 등 유형의 무작위 수를 생성할 수 있다.이것도 그것과java다.lang. Math의 방법인 Random()의 가장 큰 차이점은 후자는 더블형의 랜덤수만 생성한다.
클래스 랜덤의 방법은 매우 간단하다. 그것은 단지 두 가지 구조 방법과 여섯 가지 일반 방법뿐이다.
구성 방법:
(1)public Random()
(2)public Random(long seed)
Random()은 현재 시간인 System을 사용합니다.current Time Millis () 는 발생기의 씨앗이고, Random (long seed) 은 지정한 seed 를 발생기의 씨앗으로 사용합니다.
자바에서 랜덤 수를 생성하려면 기본값 seed가 필요합니다. 첫 번째 방법에서 기본값이 부족하면 시스템 시간을 seed로 합니다.
일반 방법:
(1)public synonronized void setSeed(long seed)
이 방법은 기본값 seed를 설정하는 것이다.
(2)public int nextInt()
이 방법은 정형 랜덤수를 만드는 것이다.
(3)public long nextLong()
이 방법은 롱형 랜덤수를 만드는 것이다.
(4)public float nextFloat()
이 방법은 플로트형 랜덤수를 생성하는 것이다.
(5)public double nextDouble()
이 방법은 더블 랜덤 수를 만드는 것이다.
(6)public synchronized double nextGoussian()
이 방법은 더블 Goussian 랜덤 수를 만드는 것이다.
만약 두 개의 Random 대상이 같은 피드 (예를 들어 모두 100) 를 사용하고 같은 순서로 같은 함수를 호출한다면, 그것들의 반환 값은 완전히 같다.아래 코드에서 두 Random 객체의 출력이 완전히 같다면
지정한 범위 내의 랜덤 수
무작위 수 제어 범위 내에서 모드 연산자% 사용
import java.util.*;
class TestRandom {
public static void main(String[] args) {
Random random = new Random();
for(int i = 0; i < 10;i++) {
System.out.println(Math.abs(random.nextInt())%10);
}
}
}
획득한 랜덤 수는 플러스와 마이너스가 있습니다. Math로.abs는 데이터 범위를 비음수로 가져옵니다.지정된 범위 내의 중복 없는 무작위 수 가져오기
import java.util.*;
class TestRandom {
public static void main(String[] args) {
int[] intRet = new int[6];
int intRd = 0; //
int count = 0; //
int flag = 0; //
while(count<6){
Random rdm = new Random(System.currentTimeMillis());
intRd = Math.abs(rdm.nextInt())%32+1;
for(int i=0;i<count;i++){
if(intRet[i]==intRd){
flag = 1;
break;
}else{
flag = 0;
}
}
if(flag==0){
intRet[count] = intRd;
count++;
}
}
for(int t=0;t<6;t++){
System.out.println(t+"->"+intRet[t]);
}
}
}
넥스트 플로트 등등 여러 가지 기본 유형이 있습니다.Math.랜덤도 돼요.
예를 들면 0-10 사이의 랜덤 수를 원하신다면.
너는 이렇게 쓸 수 있다.
(int)(Math.random()*10);
JAVA는 지정된 범위의 무작위 수를 생성합니다.in-Max 사이의 숫자 생성하기
Random random=new Random();
int top = random.nextInt(maxtop)%(maxtop-mintop+1) + mintop;
또 다른 실현 원리:
Math.round(Math.random()*(Max-Min)+Min)
long Temp; // int, long
// 1000 9999
Temp=Math.round(Math.random()*8999+1000);
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.