Определить, лежит ли точка внутри треугольника

package sample;

import java.util.Scanner;

public class Homework11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner sc = new Scanner(System.in);

		System.out.println("Введите значение координаты х:");
		double x = sc.nextDouble();

		System.out.println("Введите значение координаты y:");
		double y = sc.nextDouble();

		double x1 = 0;
		double y1 = 0;
		double x2 = 4;
		double y2 = 4;
		double x3 = 6;
		double y3 = 1;

		double a = (x1 - x) * (y2 - y1) - (x2 - x1) * (y1 - y);
		double b = (x2 - x) * (y3 - y2) - (x3 - x2) * (y2 - y);
		double c = (x3 - x) * (y1 - y3) - (x1 - x3) * (y3 - y);

		if (a >= 0 && b >= 0 && c >= 0) {
			System.out.println("Введенная Вами точка лежит внутри треугольника!");
		} else {
			System.out.println("Введенная Вами точка не лежит внутри треугольника.");
		}
	}

}

Решение частично верно. А именно вы не учли, что знак псевдоскалярного произведения может быть и отрицательным.

Так верно?

package sample;

import java.util.Scanner;

public class Homework11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner sc = new Scanner(System.in);

		System.out.println("Введите значение координаты х:");
		double x = sc.nextDouble();

		System.out.println("Введите значение координаты y:");
		double y = sc.nextDouble();

		double x1 = 0;
		double y1 = 0;
		double x2 = 4;
		double y2 = 4;
		double x3 = 6;
		double y3 = 1;

		double a = (x1 - x) * (y2 - y1) - (x2 - x1) * (y1 - y);
		double b = (x2 - x) * (y3 - y2) - (x3 - x2) * (y2 - y);
		double c = (x3 - x) * (y1 - y3) - (x1 - x3) * (y3 - y);

		if ((a >= 0 && b >= 0 && c >= 0) || (a <= 0 && b <= 0 && c <= 0)) {
			System.out.println("Введенная Вами точка лежит внутри треугольника!");
		} else {
			System.out.println("Введенная Вами точка не лежит внутри треугольника.");
		}
	}

}

Предложенное вами решение верно