코딩 연습장/JAVA

자바 2장 연습문제(조건문)-3

Do아 2021. 3. 18. 09:52
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