Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.Scanner;
- import static java.lang.StrictMath.abs;
- public class Main {
- public static void main(String[] args) {
- System.out.println("Приветствуем вас в программе, которая найдёт площадь многоугольника
- по заданным координатам вершин.\nВведите количество вершин:");
- boolean isIncorrect;
- int n = 0;
- Scanner scan = new Scanner(System.in);
- do {
- isIncorrect = false;
- try {
- n = Integer.parseInt(scan.nextLine());
- }
- catch(Exception e) {
- System.out.println("Количество вершин введёно некорректно!!!\n
- Введите количество вершин:");
- isIncorrect = true;
- }
- if (!isIncorrect && n < 3){
- System.out.println("Заданное число не может являться количеством вершин!!!\n
- Введите количество вершин(целое число больше нуля):");
- isIncorrect = true;
- }
- } while (isIncorrect);
- double[] xArray = new double[n];
- double[] yArray = new double[n];
- for (int i = 0; i < n; i++){
- System.out.print("Введите координаты вершины " + (i + 1) + ":\nx(" + (i + 1) + ") = ");
- do {
- isIncorrect = false;
- try {
- xArray[i] = Double.parseDouble(scan.nextLine());
- }
- catch(Exception e) {
- System.out.print("Координата x вершины " + (i + 1) + " введена некорректно!!!\n
- Введите x(" + (i + 1) + ") = ");
- isIncorrect = true;
- }
- }while (isIncorrect);
- System.out.print("y(" + (i + 1) + ") = ");
- do {
- isIncorrect = false;
- try {
- yArray[i] = Double.parseDouble(scan.nextLine());
- }
- catch(Exception e) {
- System.out.print("Координата y вершины " + (i + 1) + " введена некорректно!!!\n
- Введите y(" + (i + 1) + ") = ");
- isIncorrect = true;
- }
- }while (isIncorrect);
- }
- scan.close();
- double square = 0;
- for (int i = 0; i < n; i++)
- if (i < (n - 1) )
- square += xArray[i] * yArray[i+1] - xArray[i+1] * yArray[i];
- else
- square += xArray[i] * yArray[0] - xArray[0] * yArray[i];
- xArray = null;
- yArray = null;
- square = abs(square) / 2;
- System.out.print("Площадь многоугольника = " + square);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement