package org.example;

import java.util.InputMismatchException;
import java.util.Scanner;

//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Stunde3 {

    public static final int VERSANDKOSTEN = 550;

    public static void main(String[] args) {
        aufgabe3(args);
    }

    public static void aufgabe1(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Nummer: ");
        int nummer = 0;
        try {
            nummer = in.nextInt();
        } catch (InputMismatchException e) {
            System.out.println("Invalide Eingabe!");
            System.exit(1);
        }
        System.out.printf("Nummer ist %s gerade\n", nummer % 2 == 0 ? "": "nicht");
    }

    public static void aufgabe2(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Versandbetragsrechner");
        System.out.print("Bestellwert in Euro Cent: ");
        int bestellwert = 0;
        try {
            bestellwert = in.nextInt();
        } catch (InputMismatchException _) {
            System.out.println("Invalide Eingabe!");
            System.exit(1);
        }
        // Known problem: Negative input would produce bogus values. Don't care though yet
        System.out.printf(
                "Kosten: %s (%s Ware, %s Versand)\n",
                centToEuro(bestellwert >= 20000 ? bestellwert : bestellwert + VERSANDKOSTEN),
                centToEuro(bestellwert),
                centToEuro(bestellwert >= 20000 ? 0 : VERSANDKOSTEN));
    }

    public static String centToEuro(int cent) {
        return String.format("%d.%d€", cent/100, cent%100);
    }

    public static void aufgabe3(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Bestellwert in Euro Cent: ");
        int bestellwert = 0;
        try {
            bestellwert = in.nextInt();
        } catch (InputMismatchException _) {
            System.out.println("Invalide Eingabe!");
            System.exit(1);
        }

        // Known problem: Negative input would produce bogus values. Don't care though yet
        if (bestellwert < 100*100) {
            System.out.printf(
                    "Kosten: %s (%s Ware, %s Versand)\n",
                    centToEuro(bestellwert + 550),
                    centToEuro(bestellwert),
                    centToEuro(550));
        } else if (bestellwert < 200*100) {
            System.out.printf(
                    "Kosten: %s (%s Ware, %s Versand)\n",
                    centToEuro(bestellwert + 300),
                    centToEuro(bestellwert),
                    centToEuro(300));
        } else {
            System.out.printf(
                    "Kosten: %s (%s Ware, %s Versand)\n",
                    centToEuro(bestellwert),
                    centToEuro(bestellwert),
                    centToEuro(0));
        }
    }

    public static void aufgabe4(String[] args) {
        Scanner in = new Scanner(System.in);

        // Note: Behandelt Exceptions nicht
        System.out.println("Dreiecksprüfer");
        System.out.print("Seite A: ");
        double seiteA = in.nextDouble();
        System.out.print("Seite B: ");
        double seiteB = in.nextDouble();
        System.out.print("Seite C: ");
        double seiteC = in.nextDouble();

        if (seiteA+seiteB > seiteC && seiteB + seiteC > seiteA && seiteC + seiteA > seiteB) {
            System.out.println("Dreieck valide");
        } else {
            System.out.println("Dreieck invalide");
        }
    }

    public static void aufgabe5(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Alter: ");
        // Note: No exception handling. Don't care
        int alter = in.nextInt();
        if (alter < 16) {
            System.out.println("Zutritt verboten");
        } else if (alter < 18) {
            System.out.println("Türsteher ist aufmerksam");
        } else {
            System.out.println("Viel Spaß");
        }
    }
}