Jam's story
Random 클래스 본문
Math.random()이랑 다른점
종자값(seed)를 사용할 수 있다.
Random(long seed)
long seed=System.nanoTime();
Random rnd=new Random(seed);
System.out.println(rnd.nextInt());
boolean nextBoolean()
boolean타입의 난수 반환
double nextDouble()
double타입의 난수 반환
flloat nextFloat()
float타입의 난수반환
int nextInt()
int nextInt(int n)
int타입의 난수 반환
0~n-1까지의 난수 반환 Math.random() 과 범위가 같다.
예) Math.random()*10 ==0<=x<10 == rnd.nextInt(10);
getRand(int a, int b)
a와 b 사이의 int 형 반환
private static int getRand(int i, int j) {
return (int)(Math.random()*(Math.abs(i-j)+1))+Math.min(i, j);
}}
public class Prac {
public static void main(String[] args) {
for (int i = 0; i < 10;i++) {
System.out.print(getRand(1,10)+" ");
}
int[] result=fillRand(new int[10], new int[]{2,3,4,5});
int[] result2=fillRand(new int[3],3,5);
}
private static int[] fillRand(int[] is, int i, int j) {
// TODO Auto-generated method stub
for (int k = 0; k < is.length; k++) {
is[k]=getRand(i,j);
}
return is;
}
private static int[] fillRand(int[] is, int[] is2) {
// TODO Auto-generated method stub
for (int i = 0; i < is.length; i++) {
is[i]=is2[getRand(0,is2.length)];
}
return is;
}
private static int getRand(int i, int j) {
// TODO Auto-generated method stub
return (int)(Math.random()*(Math.abs(i-j)+1))+Math.min(i, j);
}}
Comments