명품 자바 Programming
Chapter2 Ex8
Q :
2차원 평면에서 하나의 직사각형은 두 점으로 표현된다. (50, 50)과 (100, 100)의 두 점으로 이루어진 사각형이 있다고 하자. 이때 키보드로부터 다른 직사각형을 구성하는 두 점 (x1, y1), (x2, y2)를 입력받아 두 개의 직사각형이 서로 충돌하는 지 판별하는 프로그램을 작성하라.
Solution
package com.sh.test;import java.util.Scanner;public class test {public static void main(String[] args) {Scanner s = new Scanner(System.in);int x1, y1, x2, y2;while (true) {System.out.println("(x1, y1), (x2,y2)의 좌표를 입력하세요. (999 입력 시 종료)");x1 = s.nextInt();y1 = s.nextInt();x2 = s.nextInt();y2 = s.nextInt();if (x1 == 999)break;System.out.println("입력한 점");System.out.println("(x1, y1) = " + "(" + x1 + ", " + y1 + ")");System.out.println("(x2, y2) = " + "(" + x2 + ", " + y2 + ")");if (((x1 >= 50 && x1 <= 100) && (y1 >= 50 && y1 <= 100)) ||((x2 >= 50 && x2 <= 100) && (y2 >= 50 && y2 <= 100)) ||((y1 >= 50 && y1 <= 100) && (x2 >= 50 && x2 <= 100)) ||((x1 >= 50 && x1 <= 100) && (y2 >= 50 && y2 <= 100)) ||((x1 <= 50 && y1 <= 50) && (x2 >= 100 && y2 >= 100))){System.out.println("사각형이 겹칩니다.");}else {System.out.println("사각형이 겹치지 않습니다.");}}}};
Key Point
점 (x1, y1) 이 영역에 들어갔을 때와 점 (x2, y2)가 영역에 들어갔을 때
직사각형이 겹친다.
유용하셨다면 공감 버튼 ↓ 눌러주세요!
728x90
'# Language > Java' 카테고리의 다른 글
Scanner를 이용한 입력 (0) | 2018.07.20 |
---|---|
명품 JAVA 프로그래밍 3장 1번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 3장 OpenChallenge (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 7번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 6번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 5번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 2장 4번 (2) | 2018.07.20 |