[최소, 최대] 사이의 임의의 정수를 생성하려면,
package edu.sjtu.erplab.io;import java.util.Random;public class RandomTest { public static void main(String[] args) { int max=20; int min=10; Random random = new Random(); s = random.nextInt(max)%(max-min+1) + min; System.out.println(s);
random.nextInt(max)는 [0,max] 사이의 난수를 생성한 다음 모듈로(max-min+1)를 취하는 것을 의미합니다.
난수 생성 [10,20]을 예로 들면, 먼저 0-20에서 난수를 생성한 다음 모듈로(20-10+1)를 취하여 [0-10] 사이의 난수를 얻은 다음 추가합니다. min=10 , 최종 생성된 난수는 10-20입니다.
2를 포함하여 0과 2 사이의 난수를 생성합니다.
Random rand = new Random();int randNum = rand.nextInt(3);
26을 포함하여 5에서 26 사이의 난수를 생성합니다.
int randNum = rand.nextInt(22)+5;
직장의 여러 곳에서 지정된 범위 내에서 난수를 얻어야 하는 상황에 직면하게 됩니다. Java에서 제공하는 API의 함수를 직접 사용하는 것만으로는 충분하지 않으며 일부 변경이 필요합니다.
예: 지정된 범위 내에서 난수 10개를 생성합니다.
public class RandomTest { public static void main(String[] args) { int max = 10; int min = 2; //지정된 범위에서 10개의 난수를 생성합니다. Random random = new Random() for(int i=0; i<10; i++){ int n = random.nextInt(max-min+1)+min; System.out.print(n+" ") } for(int i=0; i<10; i++){ int n = (int)(Math.random()*(max-min+1)+min); System.out.print(n+" ");
[min,max] 사이의 임의의 정수를 생성하려면
import java.util.Random; public class RandomTest { public static void main(String[] args) { int min=10; Random 무작위 = new Random(); )%(max-min+1) + min; int s = random.nextInt(max-min+1) + min;