JAVA Programming/JAVA 문제

배열 난수 발생 문제

꾸준히개발하자 2020. 8. 6. 09:46

 

package test;

public class Test2 {
	
	public static void main(String[] args) {	
		 
		
		int[] array = new int[5]; // 5개 공간 저장
		
		for(int i=0; i < array.length; i++) {
		while(true) {
		array[i]= (int)(Math.random()*10); // 0 ~ 9까지 랜덤함수 생성
		boolean result = true;
		for(int j=0; i<j; j++) {
			if(array[i] == array[j]) {
				result = false;
				break;
				}
			}
			if(result) break;
			}
		}
	for(int num : array) {
		System.out.println(num + "\t");
		
	}
	System.out.println();
	System.out.println("=====================");
	}
}

package test;

public class Test2 {
	
	public static void main(String[] args) {	

		// 배열 5개 생성 난수발생 시 중복되는 값안나오게 하시오
		
		int[] array = new int[5];
		
		for(int i=0; i<array.length; i++) {
			
			while(true) { // 무한반복 
				array[i] = (int)(Math.random()*5); // 5개의 배열공간에 랜덤 정수를 넣는다.
				boolean result = true; // 논리값 true = 중복값이 없다
				for(int j=0; j<i; j++) {
					if(array[i] == array[j]) {
						result = false; // 논리값 false = 중복이면
						break; // 탈출 
					}
				}
				if(result)  // 5개 다차면 
					break;  // 빠져나간다.
			}
		}	
		// 빠른for문 으로  배열 추출 
		for(int i : array) {
			System.out.println( i + "");
		}
		System.out.println("======================");
	}
}