public class Example {
public static void main(String[] args)
{
int [] array = new int [10];
for(int i = 0; i < array.length; i++)
{
int r = (int) (Math.random() * 100 + 1); // 1~100 사이의 정수 만들기
array[i] = r;
for(int j = 0; j < i; j++) // 현재 배열의 현재 인덱스 이전까지의 요소들을 검사
{
if(array[j] == array[i])
{
System.out.println("중복된 숫자가 나왔어요..."); // 체크용으로 일단 집어넣는다.
i--; // 새 멤버가 들어있는 곳의 인덱스를 다시 사용하기 위해서 i를 1 뺀다.
break; // 멈춰! -> 다음 요소들은 중복 되든지 말든지 볼 가치도 없다!
}
}
}
System.out.print("결과 : ");
for(int i = 0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
System.out.println();
}
}
이 코드는 중복되지 않는 숫자만 배열에 집어넣기 위한 로직입니다.
간단히 설명하자면 새 멤버와 구 멤버들의 비교를 통해서 혹시 새 멤버와 구 멤버가 같다면 새 멤버를 가입 취소시키는 방법입니다.
중복되는 숫자가 걸리지 않았다면 아래 그림처럼,
중복되는 숫자가 걸려서 다시 난수를 생성했다면 아래 그림처럼 실행됩니다.
'PROGRAMMING > 예제' 카테고리의 다른 글
[Python] 주민등록번호 입력받고 생년월일 출력하기 (0) | 2022.01.22 |
---|---|
[Java] Calendar 클래스를 이용해서 달력 출력하기 (0) | 2021.12.15 |
[Java] 솟수를 솟솟, 소수(Prime Number) 구하기. (0) | 2021.11.19 |
[Java] 윤년 계산하기 (0) | 2021.11.16 |
[Java] 입력된 숫자 두 개로 사칙연산 + 나머지 구하기 (0) | 2021.11.16 |