# 소개팅 매칭
## 문제
요즘 유행인 소개팅 어플은 외모를 점수화 하여 비슷한 점수대의 회원들 끼리 매칭을 한다. 따라하기 과정을 통해 연결가능한 소개팅 쌍을 출력하는 프로그램을 작성하시오.
## 따라하기
### 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)
```