Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.arti;
- import java.util.Scanner;
- import static java.lang.System.out;
- //нас интересуют только координаты угловых точек
- //их достаточно, чтобы задать два прямоугольника
- class A {
- static int x;
- static int y;
- }
- class D {
- static int x;
- static int y;
- }
- class E {
- static int x;
- static int y;
- }
- class H {
- static int x;
- static int y;
- }
- //а это координаты углов прямоугольника
- //который получился пересечением
- class Rect1 {
- static int x;
- static int y;
- }
- class Rect2 {
- static int x;
- static int y;
- }
- public class Main {
- public static void main(String[] args) {
- Scanner keyboard = new Scanner(System.in);
- out.println("Введите координаты точек первого прямоугольника: ");
- out.print("A: ");
- A.x = keyboard.nextInt();
- A.y = keyboard.nextInt();
- out.print("D: ");
- D.x = keyboard.nextInt();
- D.y = keyboard.nextInt();
- out.println("Второго: ");
- out.print("E: ");
- E.x = keyboard.nextInt();
- E.y = keyboard.nextInt();
- out.print("H: ");
- H.x = keyboard.nextInt();
- H.y = keyboard.nextInt();
- //замутим проверку на вложенность
- //корявую, но тем не менее
- if((E.x > A.x && E.y > A.y && D.x > H.x && D.y > H.y) || (E.x < A.x && E.y < A.y && D.x < H.x && D.y < H.y)) {
- out.println("Прямоугольники вложены");
- System.exit(0); //я пока что не очень в ОПП, поэтому это костыль
- }
- //теперь надо замутить координаты прямоугольника в пересечении
- Rect1.x = Math.min(D.x, E.x);
- Rect1.y = Math.min(D.y, E.y);
- Rect2.x = Math.min(H.x, D.x);
- Rect2.y = Math.min(H.y, D.y);
- //получить длины его сторон
- int a = Rect1.x - Rect2.x;
- int b = Rect1.y - Rect2.y;
- //посчитать площадь
- int S = Math.abs(a*b);
- if (S == 0) {
- out.print("Прямоугольники не пересекаются");
- } else out.print("S = " + S);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement