[JAVA] 중복되지 않는 난수 출력하기

준우·2021년 11월 18일
1

원하는 자릿수만큼 중복되지 않는 난수 만들기

package codingTest;

import java.util.Arrays;

public class baseBall {

	private static boolean checkNum(int nums[],int index) { 
		//nums: n자리 난수, index: 1자리 난수(중복체크값)
		
		for(int i=0; i<nums.length; i++) {	//난수 자릿수만큼 중복체크
			if(nums[i]==index)  			//중복 시 true 반환, 중복 없을 시 false 반환
				return true;
			} 
			return false;
		}

	
	public static void main(String[] args) {

		int nums[] = new int[3];	//3자리 난수(배열값:3)
		int index = 0;				//1자리 난수(중복체크값) 
		
		for(int i=0; i<nums.length; i++) {		
			//난수 자릿수만큼 반복하여 랜덤한 숫자 배열에 입력
			
			do {
				index = (int)(Math.random()*10); //1부터 9까지의 한자리 변수 생성
				} while (checkNum(nums,index));	 //배열과 변수 중복여부 체크
			nums[i] = index;					 //중복되지 않는 수만 배열에 저장
		}										 //for문으로 배열 수만큼 반복
		
		for(int i=0; i<nums.length; i++) {		 //전체 배열 출력
			System.out.print(nums[i]);
			
		}
		
	}

}

결과 이미지


0개의 댓글