본문 바로가기
study/Java

[Java] 30. Test2 풀이 (int getRand(f,t) : 함수 구현하기)

by 금이패런츠 2022. 3. 28.
728x90
반응형
package chap12;

import java.util.Random;

/*
 * int getRand(f,t) : 함수 구현하기
 *   f ~ t 또는 t~ f 까지  범위에 숫자를 임의의 수로 리턴하는 함수
 *   f, t 값은 포함됨.
 *   
 * 1 ~ 10 사이의 임의의 수
 *    0 <= (int)(Math.random() * ((10-1)+1)) + 1 < 10.0
 */
public class Test0322_2 {
	public static void main(String[] args) {
		for(int i=0;i<20;i++) {
			System.out.print(getRand(1,-3)+",");
		}
		System.out.println();
		for(int i=0;i<20;i++) {
			System.out.print(getRand(-1,3)+",");
		}
	}
	static int getRand(int f,int t) {
//		int min = Math.min(f,t); //최소값
		int min = (f > t)?t:f;   //조건연산자
		int max = Math.max(f,t); //최대값
		int cha = max - min;     //두 수의 간격
//		return (int)(Math.random() * (cha+1)) + min;
		Random r = new Random();
		r.setSeed((int)(Math.random()*1000) + 1); //seed값을 난수로 등록
		return  r.nextInt(cha+1) + min;
	}
}
728x90
반응형