eterno

JAVA 21일차. 배열을 사용한 로또번호 생성하기, 최대값/최소값 구하기 본문

JAVA/강의노트

JAVA 21일차. 배열을 사용한 로또번호 생성하기, 최대값/최소값 구하기

영원한별똥별 2022. 9. 17. 10:25
728x90
반응형

난수 출력

난수를 생성하는 방법은 2가지가 있다.

  - java.lang.Math 클래스의 random메소드

  -  java.util.random 클래스

 

1. java.lang.Math 클래스의 random메소드

 - 0.0이상 1.0 미만의 값을 랜덤으로 반환

 - 자료형이 double 이기 때문에 int형으로 형변환해서 사용

 

2. java.util.random 클래스

 - nextBoolean() : true, false 중 랜덤 값 반환

 - nextFloat() : 0.0 ~ 1.0 범위에서 float형의 랜덤 값 반환

 - nextDouble() : 0.0 ~ 1.0 범위에서 double형의 랜덤 값 반환

 - nextInt() : int범위(음수, 0, 양수)에서의 랜덤 값 반환

 - nextInt(int bound) : 0부터 bound 까지의 범위 중 랜덤 값 반환

 - nextLong() : Long(음수, 0, 양수)에서의 랜덤 값 반환

import java.util.Random;

public class randomEx {
	public static void main(String[] args) {
		
		Random r = new Random();
		
		//public boolean nextBoolean()
		boolean n_1= r.nextBoolean();
		System.out.println(n_1);
		
		//public float nextFloat()
		float n_2 = r.nextFloat();
		System.out.println(n_2);
				
		//public double nextDouble()
		double n_3 = r.nextDouble();
		System.out.println(n_3);		
		
		//public int nextInt()
		int n_4 = r.nextInt();
		System.out.println(n_4);
		
		//public int nextInt(int bound)
		int n_5 = r.nextInt(50);
		System.out.println(n_5);
		
		//public long nextLong()
		long n_6 = r.nextLong();
		System.out.println(n_6);		
	}
}

 

예제) 배열을 사용하여 한줄짜리 로또번호 출력하기

방법1 > 

 * random() 은 0을 포함한 랜덤값을 반환하기 때문에 1~45까지의 범위를 반환하려면 +1 해줘야 한다.

 

방법2> 반복되는 부분을 for문으로 묶어 간소화 했다.

방법3> 방법2는 중복값이 나올 수 있어서 중복값을 제거한다.

i--를 하는 이유는 lo_1[j]와 lo_1[i] 값이 같으면 lo_1[i]의 값을 반환하지 않고 해당 for문을 빠져나와 위에 i++로 다음 값을 반환하기 때문

 

예제) 5줄짜리 로또번호 만들기

 

예제) 배열을 사용하여 최대값, 최소값 구하기

 

728x90
반응형