246 lines
9.0 KiB
Java
246 lines
9.0 KiB
Java
package autovermietung.helper;
|
|
|
|
import autovermietung.models.Kunde;
|
|
import autovermietung.models.Modell;
|
|
import autovermietung.models.Pkw;
|
|
|
|
import java.sql.Date;
|
|
import java.time.LocalDate;
|
|
import java.util.ArrayList;
|
|
|
|
public class Shop {
|
|
private static void clearScreen() {
|
|
try
|
|
{
|
|
final String os = System.getProperty("os.name");
|
|
|
|
if (os.contains("Windows"))
|
|
{
|
|
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
|
|
}
|
|
else
|
|
{
|
|
Runtime.getRuntime().exec("clear");
|
|
}
|
|
}
|
|
catch (final Exception e)
|
|
{
|
|
System.out.println(e);
|
|
}
|
|
}
|
|
|
|
private static void menuText() {
|
|
clearScreen();
|
|
System.out.println("================================================");
|
|
System.out.println("Bitte aus den folgenen Menüpunkten wählen:");
|
|
System.out.println("================================================");
|
|
}
|
|
|
|
private static void menuEnde() {
|
|
System.out.println();
|
|
System.out.println("0.\tProgramm beenden");
|
|
System.out.println("================================================");
|
|
System.out.print("Ihre Auswahl: ");
|
|
}
|
|
|
|
public static void hauptMenu() {
|
|
menuText();
|
|
System.out.println("1.\tAuto Verwaltung");
|
|
System.out.println("2.\tModell Verwaltung");
|
|
System.out.println("3.\tKunden Verwaltung");
|
|
menuEnde();
|
|
}
|
|
|
|
public static void falscheEingabe() {
|
|
System.out.println("Es wurde kein Menüpunkt ausgewählt!");
|
|
System.out.println();
|
|
}
|
|
|
|
public static void autoMenu() {
|
|
menuText();
|
|
System.out.println("1.\tAutos vermieten");
|
|
System.out.println("2.\tAutos anzeigen");
|
|
System.out.println("3.\tMiete eines Autos beenden");
|
|
System.out.println("9.\tAuto entfernen");
|
|
menuEnde();
|
|
}
|
|
|
|
public static void modellMenu() {
|
|
menuText();
|
|
System.out.println("1.\tModell erstellen");
|
|
System.out.println("2.\tModell anzeigen");
|
|
System.out.println("9.\tModell entfernen");
|
|
menuEnde();
|
|
}
|
|
|
|
public static void kundenMenu() {
|
|
menuText();
|
|
System.out.println("1.\tKunde erstellen");
|
|
System.out.println("2.\tKunde anzeigen");
|
|
System.out.println("9.\tKunde entfernen");
|
|
menuEnde();
|
|
}
|
|
|
|
public static void autoAnzeigen(ArrayList<Pkw> autos, ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
for(Pkw auto : autos) {
|
|
auto.getInformation();
|
|
System.out.print("\t" + modelle.get(auto.getMnr() - 1).getModellname());
|
|
System.out.println("\t" + kunden.get(auto.getKnr() - 1).getNachname());
|
|
}
|
|
System.out.println("Beliebige Taste drücken, um fortzufahren.");
|
|
}
|
|
|
|
public static Pkw autoVermieten(ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
System.out.print("Bitte das Kennzeichen angeben: ");
|
|
String k = Tastatur.liesString();
|
|
System.out.print("Erstzulassung Datum angeben (YYYY-MM-DD): ");
|
|
Date e = Tastatur.liesDate();
|
|
System.out.print("Bitte momentanen Tachostand angeben: ");
|
|
int t = Tastatur.liesInt();
|
|
System.out.print("Bitte die Farbe des Fahrzeugs angeben: ");
|
|
String f = Tastatur.liesString();
|
|
|
|
System.out.print("Bitte das Ausleihdatum angeben(YYYY-MM-DD oder heute): ");
|
|
String aTemp = Tastatur.liesString();
|
|
Date a;
|
|
if(aTemp.equals("heute")) {
|
|
a = Date.valueOf(LocalDate.now());
|
|
} else {
|
|
a = Date.valueOf(aTemp);
|
|
}
|
|
|
|
System.out.println("Liste der Modelle: ");
|
|
for(Modell modell : modelle) {
|
|
modell.getInformation();
|
|
}
|
|
System.out.print("Bitte die Modell-Nr angeben:");
|
|
int mnr = Tastatur.liesInt();
|
|
|
|
System.out.println("Liste der Kunden: ");
|
|
for(Kunde kunde : kunden) {
|
|
kunde.getInformation();
|
|
}
|
|
System.out.print("Bitte die Kundennummer angeben: ");
|
|
int knr = Tastatur.liesInt();
|
|
|
|
System.out.println("Das Auto wurde vermietet.");
|
|
return new Pkw(k, e, t, f, a, mnr, knr);
|
|
}
|
|
|
|
public static Modell modellErstellen(ArrayList<Modell> modelle) {
|
|
clearScreen();
|
|
System.out.print("Bitte den Modellnamen angeben: ");
|
|
String mn = Tastatur.liesString();
|
|
System.out.print("Bitte den Hubraum angeben: ");
|
|
int h = Tastatur.liesInt();
|
|
System.out.print("Bitte die Leistung angeben: ");
|
|
int l = Tastatur.liesInt();
|
|
System.out.print("Bitte den KM Preis angeben: ");
|
|
float kmp = Tastatur.liesFloat();
|
|
System.out.print("Bitte den Pauschalpreis angeben: ");
|
|
float p = Tastatur.liesFloat();
|
|
|
|
return new Modell(modelle.size() + 1, mn, h, l, kmp, p);
|
|
}
|
|
|
|
public static Kunde kundeErstellen(ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
System.out.print("Bitte Vorname des Kunden angeben: ");
|
|
String v = Tastatur.liesString();
|
|
System.out.print("Bitte Nachnamen des Kunden angeben: ");
|
|
String n = Tastatur.liesString();
|
|
System.out.print("Bitte Anschrift des Kunden angeben: ");
|
|
String a = Tastatur.liesString();
|
|
System.out.print("Bitte die Telefonnummer des Kunden angeben: ");
|
|
String t = Tastatur.liesString();
|
|
System.out.print("Bitte die Personalausweisnummer angeben: ");
|
|
int p = Tastatur.liesInt();
|
|
|
|
return new Kunde(kunden.size() + 1, v, n, a, t, p);
|
|
}
|
|
|
|
public static int autoEntfernen(ArrayList<Pkw> autos, ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
System.out.println("Liste der Autos:");
|
|
for (int i = 0; i < autos.size(); i++) {
|
|
System.out.print(i + 1 + ": ");
|
|
autos.get(i).getInformation();
|
|
System.out.print("\t" + modelle.get(autos.get(i).getMnr() - 1).getModellname());
|
|
System.out.println("\t" + kunden.get(autos.get(i).getKnr() - 1).getNachname());
|
|
}
|
|
System.out.print("Bitte die Nummer des zu entfernenen Auto abgeben: ");
|
|
return Tastatur.liesInt() - 1;
|
|
}
|
|
|
|
public static void modellAnzeigen(ArrayList<Modell> modelle) {
|
|
clearScreen();
|
|
for(Modell modell : modelle) {
|
|
modell.getInformation();
|
|
}
|
|
System.out.println("Beliebige Taste drücken, um fortzufahren.");
|
|
}
|
|
|
|
public static int modellEntfernen(ArrayList<Modell> modell) {
|
|
clearScreen();
|
|
System.out.println("Liste der Autos:");
|
|
for (int i = 0; i < modell.size(); i++) {
|
|
System.out.print(i + 1 + ": ");
|
|
modell.get(i).getInformation();
|
|
}
|
|
System.out.print("Bitte die Nummer des zu entfernenen Modell abgeben: ");
|
|
return Tastatur.liesInt() - 1;
|
|
}
|
|
|
|
public static void kundeAnzeigen(ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
for(Kunde kunde : kunden) {
|
|
kunde.getInformation();
|
|
}
|
|
System.out.println("Beliebige Taste drücken, um fortzufahren.");
|
|
}
|
|
|
|
public static int kundenEntfernen(ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
System.out.println("Liste der Autos:");
|
|
for (int i = 0; i < kunden.size(); i++) {
|
|
System.out.print(i + 1 + ": ");
|
|
kunden.get(i).getInformation();
|
|
}
|
|
System.out.print("Bitte die Nummer des zu entfernenen Kunden abgeben: ");
|
|
return Tastatur.liesInt() - 1;
|
|
}
|
|
|
|
public static int mieteBeenden(ArrayList<Pkw> autos, ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
|
|
clearScreen();
|
|
int autoNr;
|
|
int neuerTacho;
|
|
float kostenoP;
|
|
float kosten;
|
|
System.out.println("Liste der Autos:");
|
|
for (int i = 0; i < autos.size(); i++) {
|
|
System.out.print(i + 1 + ": ");
|
|
autos.get(i).getInformation();
|
|
System.out.print("\t" + modelle.get(autos.get(i).getMnr() - 1).getModellname());
|
|
System.out.println("\t" + kunden.get(autos.get(i).getKnr() - 1).getNachname());
|
|
}
|
|
System.out.print("Bitte die Nummer des Autos abgeben: ");
|
|
autoNr = Tastatur.liesInt() - 1;
|
|
|
|
System.out.print("Bitte den momentanen Tachostand angeben: ");
|
|
neuerTacho = Tastatur.liesInt();
|
|
|
|
kostenoP = (neuerTacho - autos.get(autoNr).getTachostand()) * modelle.get(autos.get(autoNr).getMnr() - 1).getKmpreis();
|
|
kosten = kostenoP + modelle.get(autos.get(autoNr).getMnr() - 1).getPauschale();
|
|
System.out.println("Der Preis beträgt: " + kosten);
|
|
|
|
return autoNr;
|
|
}
|
|
|
|
public static void programmBeendet() {
|
|
clearScreen();
|
|
System.out.println("Das Programm wurde durch den User beendet!");
|
|
}
|
|
}
|