package rozwiazania_zadan.r1.z02_trojkat;

import java.util.Locale;
import java.util.Scanner;
/*
 W programie z zadania 1. wydziel sprawdzanie, czy liczby mogą być długościami boków trójkąta,
 do osobnej funkcji. Jakiego typu wartość ma zwracać ta funkcja?
 Ile ma przyjmować argumentów i jakich mają one być typów?
 
 Przy okazji wydzielam także obliczanie pola.
 */
public class Trojkat2_WersjaZFunkcjami {
	

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		sc.useLocale(Locale.US);
		System.out.println("Podaj trzy liczby, długości boków trójkąta:");
		double a = sc.nextDouble();
		double b = sc.nextDouble();
		double c = sc.nextDouble();
		
		if(czyToJestTrojkat(a, b, c)) {
			System.out.println("OK, te liczby mogą być długościami boków trójkąta");
			double pole = poleTrojkata(a, b, c);
			System.out.println("Pole powierzchni wynosi: " + pole);
		} else {
			System.out.println("Te liczby nie mogą być długościami boków trójkąta");
		}
	}

	static boolean czyToJestTrojkat(double a, double b, double c) {
		return a + b > c && b + c > a && c + a > b;
	}
	
	static double poleTrojkata(double a, double b, double c) {
		double p = (a + b + c) / 2.0;
		double pole = Math.sqrt((p - a) * (p - b) * (p - c) * p);
		return pole;
	}

}
