728x90
2021/03/08(월)
1-7) 2차원 평면에서 직사각형은 왼쪽 상단 모서리와 오른쪽 하단 모서리의 두 점으로 표현한다. (100,100)과 (200,200)의 두 점으로 이루어진 사각형이 있을 때 Scanner를 이용하여 정수 x와 y값을 입력받고 점 (x,y)가 이 직사각형 안에 있는지를 판별하는 프로그램을 작성하라.
점(x,y)의 좌표를 입력하시오 >> 150 150
(150, 150)는 사각형 안에 있습니다.
1-8) 2차원 평면에서 직사각형은 문제 7번처럼 두 점으로 표현된다. 키보드로부터 직사각형을 구성하는 두 점 (x1,y1), (x2,y2)를 입력받아 (100,100),(200,200)의 두 점으로 이루어진 직사각형과 충돌하는지 판별하는 프로그램을 작성하라.
내 풀이
1-7)
import java.util.Scanner;
public class Hw2_1 {
public static void main(String[] args) {
// 2차원 평면에서 직사각형은 왼쪽 상단 모서리와 오른쪽 하단 모서리의 두 점으로 표현한다.
// (100,100)과 (200,200)의 두 점으로 이루어진 사각형이 있을 때 Scanner를 이용하여 정수 x와 y값을 입력받고
// 점 (x,y)가 이 직사각형 안에 있는지를 판별하는 프로그램을 작성하라.
Scanner scanner = new Scanner(System.in);
System.out.print("점 (x,y)의 좌표를 입력하시오>>");
int pointX=scanner.nextInt();
int pointY=scanner.nextInt();
if(pointX>=100 && pointX<=200)
if(pointY>=100 && pointY<=200)
System.out.println("("+pointX+","+pointY+")"+"는 사각형 안에 있습니다.");
}
}
1-8)
import java.util.Scanner;
public class Hw2_1 {
//점이 사각형 안에 있는 지 판별해주는 메소드
public static boolean inRect(int x, int y, int rectx1, int recty1, int rectx2, int recty2) {
if((x>=rectx1 && x<=rectx2)&&(y>=recty1 && y<=recty2))
return true;
else return false;
}
public static void main(String[] args) {
// 2차원 평면에서 직사각형은 문제 7번처럼 두 점으로 표현된다.
// 키보드로부터 직사각형을 구성하는 두 점 (x1,y1), (x2,y2)를 입력받아
// (100,100),(200,200)의 두 점으로 이루어진 직사각형과 충돌하는지 판별하는 프로그램을 작성하라.
Scanner scanner = new Scanner(System.in);
System.out.print("점 (x1,y1), (x2,y2)의 좌표를 입력하시오>>");
int pointX1 = scanner.nextInt();
int pointY1 = scanner.nextInt();
int pointX2 = scanner.nextInt();
int pointY2 = scanner.nextInt();
// 100과 200사이에 포함되어있는지 확인
if(inRect(pointX1,pointY1,100,100,200,200))
System.out.println("직사각형과 충돌");
else if(inRect(pointX2,pointY2,100,100,200,200))
System.out.println("직사각형과 충돌");
}
}
--> 1번 문제와 비슷한데 아주 살짝 응용
728x90
'코딩 연습장 > JAVA' 카테고리의 다른 글
자바 가위바위보 게임 (0) | 2021.03.18 |
---|---|
자바 2장 연습문제(조건문)-4 (0) | 2021.03.18 |
자바 2장 연습문제(조건문)-2 (0) | 2021.03.18 |
자바 2장 연습문제(조건문)-1 (0) | 2021.03.18 |
자바로 코딩해보기 - 문제 : 배열 (0) | 2021.03.16 |