diff --git a/SemesteraufgabeCanzian/src/User.java b/SemesteraufgabeCanzian/src/User.java index b9744c0..2a73569 100644 --- a/SemesteraufgabeCanzian/src/User.java +++ b/SemesteraufgabeCanzian/src/User.java @@ -7,16 +7,15 @@ import java.util.Scanner; public class User { - // Private Attribute + // Attribute public double gewicht; public int koerpergroesse; public String name; - public double bmi = gewicht / (koerpergroesse * koerpergroesse); public double ziel; public static ArrayList streckenListe = new ArrayList<>(); public static HashMap userListe = new HashMap<>(); - - //globaler Scanner + + // globaler Scanner public static Scanner sc = new Scanner(System.in); // Konstruktor @@ -30,71 +29,75 @@ public class User { // Methoden // tostring Methode public String toString() { - return String.format("%s: %.2f kg, %d cm. Dein Ziel ist es, %.2f km im Monat zu fahren.",name, gewicht, koerpergroesse, ziel); + return String.format("%s: %.2f kg, %d cm. Dein Ziel ist es, %.2f km im Monat zu fahren.", name, gewicht, + koerpergroesse, ziel); } // Methode - public static void kontoanlegen() { - - 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: "); + public static void kontoanlegen() throws Exception { + + 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 Angaben 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); - System.out.println(); - } - - //Methode - public static void zeigeKonto() { - - System.out.print("Bitte gebe deinen Namen ein: "); - String name = sc.nextLine(); - if (userListe.containsKey(name)) { - System.out.println(userListe.get(name)); - } else { - System.out.printf("Bis jetzt hat noch keiner mit dem Namen %s einen Konto angelegt!", name); - System.out.println(); + PrintWriter userAngaben = new PrintWriter(new FileWriter("src/userAngaben.txt", true), true); + for (int h = 0; h < input.length; h++) { + userAngaben.write(input[h] + "\n"); } + userAngaben.close(); System.out.println(); - } // Methode - public static void eingabeSession() throws Exception { + public static void gewichtändern() throws Exception{ - System.out.print("Bitte gebe die Strecke, die du gefahren bist in km und die Sessiondauer in Minuten.\nDeine Angaben: "); + System.out.print("Bitte gebe dazu dein neues Gewicht ein: "); + Scanner sc1 = new Scanner (new File ("src/userAngaben.txt")); + ArrayList angaben = new ArrayList<>(); + String antwort = sc.nextLine(); + while (sc1.hasNext()) { + angaben.add(sc1.nextLine()); + } + angaben.set(2, antwort); + FileWriter reader = new FileWriter ("src/userAngaben.txt"); + for (int i = 0;i 35) { - System.out.println("Gut gemacht!"); - } else if (geschwindigkeit > 30) { - 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 { - System.out.println("Schade! Aber nicht aufgeben!"); - } + double geschwindigkeit = strecke / (Double.parseDouble(input[1]) / 60); + System.out.printf("Deine durschnittliche Geschwindigkeit war: %.2f km/h.\n", geschwindigkeit); PrintWriter streckeimMonat = new PrintWriter(new FileWriter("src/monatsliste.txt", true), true); - streckeimMonat.write(input[0]+"\n"); + streckeimMonat.write(input[0] + "\n"); streckeimMonat.close(); - + User.ermittleLaengsteStrecke(); System.out.println(); } - - // Methode public static void fügeindieArrayList() throws Exception { - + Scanner sc = new Scanner(new File("src/monatsliste.txt")); while (sc.hasNext()) { try { - streckenListe.add(Integer.parseInt(sc.nextLine())); + streckenListe.add(Integer.parseInt(sc.nextLine())); } catch (NumberFormatException e) { continue; } @@ -103,10 +106,10 @@ public class User { // Methode public static void ermittleLaengsteStrecke() throws Exception { - + User.fügeindieArrayList(); double laengsteStrecke = 0; - for (int i = 0; i laengsteStrecke) { laengsteStrecke = streckenListe.get(i); } @@ -118,50 +121,13 @@ public class User { // Methode public static void wievielbiszumZiel() throws Exception { - System.out.println("Vom welchem User möchtest du es haben?"); + System.out.print("Vom welchem User möchtest du es haben? "); String name = sc.nextLine(); fügeindieArrayList(); for (int h = 1; h < streckenListe.size(); h++) { - try { userListe.get(name).ziel -= streckenListe.get(h); - System.out.printf("Du musst noch %.2f km fahren!",userListe.get(name).ziel); - } catch (NullPointerException e) { - System.out.printf("Bis jetzt gibt es noch keinen Konto für %s!",name); - System.out.println(); - break; - } } + System.out.printf("Du musst noch %.2f km fahren!", userListe.get(name).ziel); System.out.println(); } - - /*// 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")) { - * - * } - * } - * - * // Methode brauche ich nicht mehr - public static void speichereStrecke() throws IOException { - String strecke = sc.nextLine(); - - //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"); - - } - */ - } diff --git a/SemesteraufgabeCanzian/src/monatsliste.txt b/SemesteraufgabeCanzian/src/monatsliste.txt index 18fb3a6..8b13789 100644 --- a/SemesteraufgabeCanzian/src/monatsliste.txt +++ b/SemesteraufgabeCanzian/src/monatsliste.txt @@ -1,3 +1 @@ -24 -24 diff --git a/SemesteraufgabeCanzian/src/userAngaben.txt b/SemesteraufgabeCanzian/src/userAngaben.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/SemesteraufgabeCanzian/src/userAngaben.txt @@ -0,0 +1 @@ + diff --git a/SemesteraufgabeCanzian/src/userinterface.java b/SemesteraufgabeCanzian/src/userinterface.java index ecc9e7a..fbba917 100644 --- a/SemesteraufgabeCanzian/src/userinterface.java +++ b/SemesteraufgabeCanzian/src/userinterface.java @@ -4,16 +4,16 @@ public class userinterface { while (true) { - System.out.println("Willkommen!\nWähle aus diesen Modulen: Konto anlegen, Konto zeigen, Eingabe Session, Ziel Monat, Programm beenden"); + System.out.println("Willkommen!\nWähle aus diesen Modulen: Konto anlegen, Gewicht ändern, Eingabe Training, Ziel Monat, Programm beenden"); String [] antwort = User.sc.nextLine().split(" "); if (antwort[1].equalsIgnoreCase("anlegen")){ User.kontoanlegen(); - } else if (antwort[1].equalsIgnoreCase("zeigen")) { - User.zeigeKonto(); - } else if (antwort[0].equalsIgnoreCase("Eingabe")) { - User.eingabeSession(); - } else if (antwort[0].equalsIgnoreCase("Ziel")) { + } else if (antwort[0].equalsIgnoreCase("gewicht")) { + User.gewichtändern();; + } else if (antwort[0].equalsIgnoreCase("eingabe")) { + User.eingabeTraining(); + } else if (antwort[0].equalsIgnoreCase("ziel")) { User.wievielbiszumZiel(); } else if (antwort[1].equalsIgnoreCase("beenden")) { System.out.println("Bis zum nächsten Mal!");