랜덤한 수 3개 배열에 중복되지 않게 담기

jyp·2023년 4월 6일
0

맥북으로 혼공하기

목록 보기
29/32
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class CompareArrays {
    public static void main(String[] args) {
        int[] com = new int[3]; // 랜덤한 수가 담길 배열
        Random random = new Random(); // 랜덤 객체 생성

        // 랜덤한 수를 배열에 담음
        for (int i = 0; i < com.length; i++) {
            int num;
            do {
                num = random.nextInt(10) + 1; // 1부터 10까지의 랜덤한 수 생성
            } while (contains(com, num)); // 중복되는 수가 나오면 다시 랜덤한 수 생성
            com[i] = num;
        }

        System.out.println("처음 생성된 배열: " + Arrays.toString(com));

        Scanner scanner = new Scanner(System.in); // 사용자 입력을 받기 위한 Scanner 객체 생성
        int[] user = new int[3]; // 사용자가 입력한 수가 담길 배열

        // 사용자 입력을 받아서 배열에 담음
        System.out.print("3개의 수를 ,로 구분하여 입력하세요: ");
        String input = scanner.nextLine(); // 콘솔에서 사용자 입력을 받음
        String[] inputArr = input.split(","); // ,를 기준으로 문자열을 자름

        for (int i = 0; i < inputArr.length; i++) {
            user[i] = Integer.parseInt(inputArr[i].trim()); // 문자열을 정수로 변환하여 배열에 담음
        }

        // 배열과 사용자 입력이 같은지 비교함
        boolean result = true;
        for (int i = 0; i < com.length; i++) {
            if (com[i] != user[i]) {
                result = false;
                break;
            }
        }

        System.out.println("두 배열은 같은가? " + result);
    }

    // 배열에서 특정 값이 있는지 검사하는 메서드
    public static boolean contains(int[] arr, int num) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == num) {
                return true;
            }
        }
        return false;
    }
}
profile
국비 코딩

0개의 댓글