# 소개팅 매칭 ## 문제 요즘 유행인 소개팅 어플은 외모를 점수화 하여 비슷한 점수대의 회원들 끼리 매칭을 한다. 따라하기 과정을 통해 연결가능한 소개팅 쌍을 출력하는 프로그램을 작성하시오. ## 따라하기 ### Step 1 소개팅 회원들의 정보를 담을 수 있는 클래스를 만들어 주세요. 필요한 정보는 아래와 같습니다. + 이름 + 성별 + 평점 ``` // 소스코드 예 User { String name; boolean isMale; double point; } ``` ### Step 2 이름과 성별을 입력하여 회원객체를 10명 생성해주세요. 회원 평점은 랜덤하게 0.0부터 5.0 사이의 값을 갖도록 만들어주세요 ``` User { // 필드.. // 생성자 User(String name, boolean isMale) { this.name = name; this.isMale = isMale; this.point = Math.random() * 5; } // main public static void main(String[] args) { User[] users = new User[10]; users[0] = new User("소희", false); users[1] = new User("영수", true); ... users[9] = new User("설민", true); } ``` ### Step 3 toString 메소드를 오버라이드 하여 객체의 정보를 아래 형식과 같이 출력가능하게 해주세요 소스코드 예 ``` public String toString() { return String.format("%s(%s: %.1f)\n", name, isMale, point); } ``` 출력 예 ``` // System.out.println(user[0].toString()); // 이름(성별: 평점) 소희(여: 4.5) ``` ### Step 4 회원들의 가능한 매칭 쌍을 출력 시켜주세요. 매칭 기준은 아래와 같습니다. + 성별이 다를 것. + 평점차이가 0.8점 이상 차이나지 않을 것. ``` // 소스코드 예 for (int i = 0; i < users.length; i++) { for (int j = i + 1; j < users.length; j++) { User source = users[i]; User target = users[j]; if (source.isMale != target.isMale) { if (Math.abs(source.point - target.point) < 0.8) System.out.println(source.toString() + " - " + target.toString()) } } } ``` ``` // 출력 예 소희(여: 4.5) - 영수(남: 4.8) 소희(여: 4.5) - 민성(남: 4.1) ... 설민(남:2.4) - 민아(여: 2.6) ```
관련 강의로 이동

코드: java 1.8

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

입력

정답이 궁금하다면? 코드를 제출해보세요!