Упражнения на Java: Проверьте, находится ли точка (x, y) в треугольнике или нет
Java Basic: упражнение 219 с решением
Напишите программу на Java, чтобы проверить, находится ли точка (x, y) в треугольнике или нет. Существует треугольник, образованный тремя точками.
Входные данные :
x1, y1, x2, y2, x3, y3, xp, yp, разделенные одним пробелом.
Пример решения:
Java-код:
import java.util.*;
public class Main {
private double outer_product(double x, double y, double x1, double y1, double x2, double y2){
x1 = x1 - x;
y1 = y1 - y;
x2 = x2 - x;
y2 = y2 - y;
double s = x1 * y2 - y1 * x2;
return s;
}
public void point(){
Scanner sc = new Scanner(System.in);
double [] x = new double[3];
double [] y = new double[3];
System.out.println("Input (x1, y1)");
x[0] = sc.nextDouble();
y[0] = sc.nextDouble();
System.out.println("Input (x2, y2)");
x[1] = sc.nextDouble();
y[1] = sc.nextDouble();
System.out.println("Input (x3, y3)");
x[2] = sc.nextDouble();
y[2] = sc.nextDouble();
System.out.println("Input (xp, yp)");
double xp = sc.nextDouble();
double yp = sc.nextDouble();
boolean [] ans = new boolean[3];
for(int i=0; i < 3; i++){
ans[i] = outer_product(xp, yp, x[i], y[i], x[(i+1)%3], y[(i+1)%3]) > 0.0;
}
if(ans[0] == ans[1] && ans[1] == ans[2]){
}
else{
System.out.println("The point is outside the triangle.");
}
}
public static void main(String[] args) {
Main obj = new Main();
obj.point();
}
}
Пример вывода:
Вход (x1, y1) 2 6 Вход (x2, y2) 3 5 Вход (х3, у3) 4 6 Ввод (xp, yp) 5 6 Точка находится за пределами треугольника.
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для печати числа простых чисел, которые меньше или равны данному целому числу.
Далее: написать программу на Java для вычисления и вывода суммы двух заданных целых чисел (больше или равно нулю). Если заданные целые числа или сумма имеют более 80 цифр, выведите «overflow».
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования