PROGRAMMING/예제
[Java] 중복되지 않는 숫자만 배열에 집어넣고 싶은 사람만 보세요
민 이
2021. 11. 24. 08:26
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();
}
}
이 코드는 중복되지 않는 숫자만 배열에 집어넣기 위한 로직입니다.
간단히 설명하자면 새 멤버와 구 멤버들의 비교를 통해서 혹시 새 멤버와 구 멤버가 같다면 새 멤버를 가입 취소시키는 방법입니다.
중복되는 숫자가 걸리지 않았다면 아래 그림처럼,
중복되는 숫자가 걸려서 다시 난수를 생성했다면 아래 그림처럼 실행됩니다.