diff --git a/SemesteraufgabeCanzian/src/User.java b/SemesteraufgabeCanzian/src/User.java index 816ef24..feffad0 100644 --- a/SemesteraufgabeCanzian/src/User.java +++ b/SemesteraufgabeCanzian/src/User.java @@ -1,9 +1,10 @@ import java.io.BufferedWriter; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; +import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; @@ -11,49 +12,17 @@ import java.util.Scanner; public class User { // Private Attribute - private double gewicht; - private int koerpergroesse; - private String name; - private double bmi = gewicht / (koerpergroesse * koerpergroesse); + public double gewicht; + public int koerpergroesse; + public String name; + public double bmi = gewicht / (koerpergroesse * koerpergroesse); public double ziel; public ArrayList streckenListe = new ArrayList<>(); + public static HashMap userListe = new HashMap<>(); + //globaler Scanner public static Scanner sc = new Scanner(System.in); - - // Getter/Setter-Methoden - public double getGewicht() { - return gewicht; - } - - public void setGewicht(int gewicht) { - this.gewicht = gewicht; - } - - public int getKoerpergroesse() { - return koerpergroesse; - } - - public void setKoerpergroesse(int koerpergroesse) { - this.koerpergroesse = koerpergroesse; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getBmi() { - return bmi; - } - - public void setBmi(int bmi) { - this.bmi = bmi; - } - // Konstruktor public User(String name, double gewicht, int koerpergroesse, double ziel) { this.name = name; @@ -65,27 +34,22 @@ public class User { // Methoden // tostring Methode public String toString() { - return String.format("%s: %.2f kg, %d cm. Mein Ziel ist es, %.2f km im Monat zu fahren.", name, gewicht, - koerpergroesse, ziel); + return String.format("%s: %.2f kg, %d cm. Mein Ziel ist es, %.2f km im Monat zu fahren.",name, gewicht, koerpergroesse, ziel); } - // Methode1 - public static HashMap userListe = new HashMap<>(); - - public static void userkontoanlegen() { + // Methode + public static void kontoanlegen() { - System.out.println("Schön, dass du da bist! Bitte gebe folgende Angaben ein:"); - System.out.println("Dein Name, dein aktuelles Gewicht in kg und deine Koerpergroesse in cm."); - System.out.print("Deine Angaben: "); + System.out.print("Schön, dass du da bist! Bitte gebe folgende Angaben ein:\nDein Name, dein aktuelles Gewicht in kg und deine Koerpergroesse in cm.\nDeine Angaben: "); String[] input = sc.nextLine().split(", "); - System.out.println( - "Dein Konto wurde angelegt! Jetzt brauche ich nur noch dein Monatsziel. Wie viel möchtest du in einem Monat radeln? Bitte gebe deine Angeben in km ein!"); + System.out.println("Dein Konto wurde angelegt! Jetzt brauche ich nur noch dein Monatsziel. Wie viel möchtest du in einem Monat radeln? Bitte gebe deine Angaben in km ein!"); double ziel = Double.parseDouble(sc.nextLine()); User us1 = new User(input[0], Double.parseDouble(input[1]), Integer.parseInt(input[2]), ziel); userListe.put(input[0], us1); System.out.println("Prima! Hier nochmal dein Userkonto: " + us1); } + //Methode public static void zeigeKonto() { System.out.print("Bitte gebe deinen Namen ein: "); @@ -98,12 +62,13 @@ public class User { } - // Methode2 - public static void berechneGeschwindigkeit() { - System.out.println("Bitte gebe die Strecke, die du gefahren bist in km und die Sessiondauer in Minuten:"); - System.out.print("Deine Angaben: "); + // Methode + public static void eingabeSession() throws Exception { + + System.out.print("Bitte gebe die Strecke, die du gefahren bist in km und die Sessiondauer in Minuten\nDeine Angaben: "); String[] input = sc.nextLine().split(", "); - double geschwindigkeit = Double.parseDouble(input[0])/ (Double.parseDouble(input[1])/60); + double strecke = Double.parseDouble(input[0]); + double geschwindigkeit = strecke/ (Double.parseDouble(input[1])/60); System.out.printf("Deine durschnittliche Geschwindigkeit war: %.2f km/h\n",geschwindigkeit); if (geschwindigkeit > 35) { System.out.println("Gut gemacht!"); @@ -111,35 +76,36 @@ public class User { System.out.println("Weiter so! Nächstes Mal schaffst du sicher 35 km/h!"); } else if (geschwindigkeit > 25) { System.out.println("Muskelkater vom letzten Mal gehabt? Du schaffst das!"); - } else if (geschwindigkeit > 20) { + } else { System.out.println("Schade! Aber nicht aufgeben!"); - } + } + //User.speichereStrecke((int)strecke); } - // Methode4 - public static double berechneKalorienverbrauch(double strecke, double gewicht) { - double kalorienverbrauch = strecke * gewicht * 0.9; - return kalorienverbrauch; - } - - // Methode5 + // Methode public static void speichereStrecke(int strecke) throws IOException { - BufferedWriter streckeimMonat = new BufferedWriter( - new OutputStreamWriter(new FileOutputStream("SemesteraufgabeCanzian/src/monatsliste.txt", true))); + strecke = Integer.parseInt(sc.nextLine()); + //PrintWriter streckeimMonat = new PrintWriter(new FileWriter("src/monatsliste.txt", true), true); + //FileWriter streckeimMonat = new FileWriter("src/monatsliste.txt", true); + //File file = new File("src/monatsliste.txt"); + //BufferedWriter streckeimMonat = new BufferedWriter(new FileWriter(file, true)); + FileWriter streckeimMonat = new FileWriter ("src/monatsliste.txt"); streckeimMonat.write(strecke); streckeimMonat.close(); } - // Methode6 + // Methode public void fügeindieArrayList() throws Exception { - Scanner sc = new Scanner(new File("SemesteraufgabeCanzian/src/monatsliste.txt")); + + Scanner sc = new Scanner(new File("src/monatsliste.txt")); while (sc.hasNext()) { streckenListe.add(Integer.parseInt(sc.nextLine())); } } - // Methode7 + // Methode public void ermittleLaengsteStrecke() throws Exception { + fügeindieArrayList(); double laengsteStrecke = 0; for (int i = 0; i <= streckenListe.size(); i++) { @@ -150,21 +116,33 @@ public class User { System.out.printf("Die laengste Strecke bis jetzt ist %f", laengsteStrecke); } - // Methode8 + // Methode public void wievielbiszumZiel() throws Exception { + fügeindieArrayList(); for (int h = 0; h <= streckenListe.size(); h++) { ziel -= streckenListe.get(h); } } - // Methode9 + + /*// Methode + public double berechneKalorienverbrauch(double strecke, double gewicht) { + + double kalorienverbrauch = strecke * gewicht * 0.9; + return kalorienverbrauch; + } + + + // Methode /* - * public void angabenändern() { Scanner sc = new Scanner (System.in); - * System.out. - * println("Welche Angaben möchtest du verändern? Name, Gewicht, Koerpergroesse oder Ziel?" - * ); String antwort = sc.nextLine(); if (antwort.equalsIgnoreCase("name")) { + * public void angabenändern() { + * Scanner sc = new Scanner (System.in); + * System.out.println("Welche Angaben möchtest du verändern? Name, Gewicht, Koerpergroesse oder Ziel?"); + * String antwort = sc.nextLine(); + * if (antwort.equalsIgnoreCase("name")) { * - * } } + * } + * } */ } diff --git a/SemesteraufgabeCanzian/src/monatsliste.txt b/SemesteraufgabeCanzian/src/monatsliste.txt new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/SemesteraufgabeCanzian/src/monatsliste.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/SemesteraufgabeCanzian/src/userinterface.java b/SemesteraufgabeCanzian/src/userinterface.java index b851f95..9b2daa6 100644 --- a/SemesteraufgabeCanzian/src/userinterface.java +++ b/SemesteraufgabeCanzian/src/userinterface.java @@ -1,11 +1,29 @@ - public class userinterface { - public static void main(String[] args) { - - //User.berechneGeschwindigkeit(); - User.userkontoanlegen(); - User.zeigeKonto(); + public static void main(String[] args) throws Exception { + + while (true) { + + System.out.println("Willkommen!\nWähle aus diesen Modulen: Konto anlegen, Konto zeigen, Eingabe Session, Ziel Monat, Programm beenden"); + String [] antwort = User.sc.nextLine().split(" "); + + if (antwort[1].equalsIgnoreCase("anlegen")){ + User.kontoanlegen(); + System.out.println(); + } else if (antwort[1].equalsIgnoreCase("zeigen")) { + User.zeigeKonto(); + System.out.println(); + } else if (antwort[0].equalsIgnoreCase("Eingabe")) { + User.eingabeSession(); + System.out.println(); + } else if (antwort[0].equalsIgnoreCase("Ziel")) { + User.speichereStrecke(0); + } else if (antwort[1].equalsIgnoreCase("beenden")) { + System.out.println("Bis zum nächsten Mal!"); + break; + } + } + } }