자바 프로 그래 밍 은 주어진 범위 내 에서 무 작위 수 를 반복 하지 않 는 방법 소결 을 생 성 합 니 다.
자바 의 Math 클래스 에 random()방법 이 존재 합 니 다.이 방법 은 기본적으로 0.0 에서 1.0 사이 의 double 형 무 작위 수 를 생 성 합 니 다.조금 만 처리 하면 우리 가 필요 로 하 는 난수 와 무 작위 문 자 를 만 들 수 있다.
Math 클래스 의 random()방법 을 제외 하고 자바 util.Random 클래스 도 무 작위 수 를 생 성 할 수 있 습 니 다.다음은 각각 예 를 들 어 설명 한다.
1.Math.random()방법
생 성 난수:
package test;
import java.util.SortedSet;
import java.util.TreeSet;
public class MathRandom {
static SortedSet set = new TreeSet();
public static int randomSet(double m, double n) {
int num = (int) m + (int) (Math.random() * (n - m));
return num;
}
public static void shuangSe(int num1, int num2) {
for (int i = 0; i < num1; i++) {
set.add(randomSet(1, 33));
}
if (set.size() < num2) {
shuangSe(num2 - set.size(), num2);
}
}
public static void main(String[] args) {
shuangSe(6, 6);
System.out.print(set);
System.out.println(" "+randomSet(1,16));
}
}
실행 결과(무 작위):
[3, 13, 17, 21, 23, 25] 2
무 작위 문자 생 성:
package test;
public class MathRandomChar {
public static char getRandomChar(char c1,char c2){
return (char)(c1+Math.random()*(c2-c1+1));
}
public static void main(String[] args) {
System.out.println("a-z : "+getRandomChar('a','z'));
}
}
실행 결과(무 작위):
a-z : g
2.java.util.Random 방법방법 1:for 순환 추가:
package test;
import java.util.Random;
import java.util.SortedSet;
import java.util.TreeSet;
public class Test {
static Random ran = new Random();
static SortedSet set = new TreeSet();
public static void randomSet(int n, int m) {
for (int i = 0; i < n; i++) {
set.add(ran.nextInt(33) + 1);
}
if (set.size() < m) {
randomSet(m - set.size(), m);
}
}
public static void main(String[] args) {
randomSet(6, 6);
System.out.print(set);
System.out.println(" "+(ran.nextInt(16)+1));
}
}
실행 결과(무 작위):
[1, 15, 18, 29, 30, 31] 13
방법 2:while 순환
package test;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class ShuangSeQiu {
public static void main(String[] args) {
Random ran = new Random();
Set<Integer> set = new TreeSet<>();
while (true) {
int a = ran.nextInt(33) + 1;
set.add(a);
if (set.size() > 5) {
System.out.print(set);
break;
}
}
System.out.println(" "+(ran.nextInt(16)+1));
}
}
실행 결과(무 작위):
[2, 11, 12, 16, 23, 26] 7
PS:여기 서 여러분 께 두 가지 기능 이 유사 한 온라인 도 구 를 제공 하여 참고 하 시기 바 랍 니 다.온라인 무 작위 숫자/문자열 생 성 도구:
http://tools.jb51.net/aideddesign/suijishu
온라인 무 작위 문자/무 작위 암호 생 성 도구:
http://tools.jb51.net/aideddesign/rnd_password
고강도 암호 생 성기:
http://tools.jb51.net/password/CreateStrongPassword
자바 알고리즘 과 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,자바 데이터 구조 및 알고리즘 튜 토리 얼
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.