main
luciacanzian 2023-01-13 13:03:23 +01:00
parent 8ecaf2f236
commit 163d6ed519
3 changed files with 79 additions and 82 deletions

View File

@ -1,9 +1,10 @@
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStreamWriter; import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Scanner; import java.util.Scanner;
@ -11,49 +12,17 @@ import java.util.Scanner;
public class User { public class User {
// Private Attribute // Private Attribute
private double gewicht; public double gewicht;
private int koerpergroesse; public int koerpergroesse;
private String name; public String name;
private double bmi = gewicht / (koerpergroesse * koerpergroesse); public double bmi = gewicht / (koerpergroesse * koerpergroesse);
public double ziel; public double ziel;
public ArrayList<Integer> streckenListe = new ArrayList<>(); public ArrayList<Integer> streckenListe = new ArrayList<>();
public static HashMap<String, User> userListe = new HashMap<>();
//globaler Scanner
public static Scanner sc = new Scanner(System.in); 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 // Konstruktor
public User(String name, double gewicht, int koerpergroesse, double ziel) { public User(String name, double gewicht, int koerpergroesse, double ziel) {
this.name = name; this.name = name;
@ -65,27 +34,22 @@ public class User {
// Methoden // Methoden
// tostring Methode // tostring Methode
public String toString() { public String toString() {
return String.format("%s: %.2f kg, %d cm. Mein Ziel ist es, %.2f km im Monat zu fahren.", name, gewicht, return String.format("%s: %.2f kg, %d cm. Mein Ziel ist es, %.2f km im Monat zu fahren.",name, gewicht, koerpergroesse, ziel);
koerpergroesse, ziel);
} }
// Methode1 // Methode
public static HashMap<String, User> userListe = new HashMap<>(); public static void kontoanlegen() {
public static void userkontoanlegen() {
System.out.println("Schön, dass du da bist! Bitte gebe folgende Angaben ein:"); 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: ");
System.out.println("Dein Name, dein aktuelles Gewicht in kg und deine Koerpergroesse in cm.");
System.out.print("Deine Angaben: ");
String[] input = sc.nextLine().split(", "); String[] input = sc.nextLine().split(", ");
System.out.println( 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!");
"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!");
double ziel = Double.parseDouble(sc.nextLine()); double ziel = Double.parseDouble(sc.nextLine());
User us1 = new User(input[0], Double.parseDouble(input[1]), Integer.parseInt(input[2]), ziel); User us1 = new User(input[0], Double.parseDouble(input[1]), Integer.parseInt(input[2]), ziel);
userListe.put(input[0], us1); userListe.put(input[0], us1);
System.out.println("Prima! Hier nochmal dein Userkonto: " + us1); System.out.println("Prima! Hier nochmal dein Userkonto: " + us1);
} }
//Methode
public static void zeigeKonto() { public static void zeigeKonto() {
System.out.print("Bitte gebe deinen Namen ein: "); System.out.print("Bitte gebe deinen Namen ein: ");
@ -98,12 +62,13 @@ public class User {
} }
// Methode2 // Methode
public static void berechneGeschwindigkeit() { public static void eingabeSession() throws Exception {
System.out.println("Bitte gebe die Strecke, die du gefahren bist in km und die Sessiondauer in Minuten:");
System.out.print("Deine Angaben: "); 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(", "); 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); System.out.printf("Deine durschnittliche Geschwindigkeit war: %.2f km/h\n",geschwindigkeit);
if (geschwindigkeit > 35) { if (geschwindigkeit > 35) {
System.out.println("Gut gemacht!"); 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!"); System.out.println("Weiter so! Nächstes Mal schaffst du sicher 35 km/h!");
} else if (geschwindigkeit > 25) { } else if (geschwindigkeit > 25) {
System.out.println("Muskelkater vom letzten Mal gehabt? Du schaffst das!"); System.out.println("Muskelkater vom letzten Mal gehabt? Du schaffst das!");
} else if (geschwindigkeit > 20) { } else {
System.out.println("Schade! Aber nicht aufgeben!"); System.out.println("Schade! Aber nicht aufgeben!");
} }
//User.speichereStrecke((int)strecke);
} }
// Methode4 // Methode
public static double berechneKalorienverbrauch(double strecke, double gewicht) {
double kalorienverbrauch = strecke * gewicht * 0.9;
return kalorienverbrauch;
}
// Methode5
public static void speichereStrecke(int strecke) throws IOException { public static void speichereStrecke(int strecke) throws IOException {
BufferedWriter streckeimMonat = new BufferedWriter( strecke = Integer.parseInt(sc.nextLine());
new OutputStreamWriter(new FileOutputStream("SemesteraufgabeCanzian/src/monatsliste.txt", true))); //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.write(strecke);
streckeimMonat.close(); streckeimMonat.close();
} }
// Methode6 // Methode
public void fügeindieArrayList() throws Exception { 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()) { while (sc.hasNext()) {
streckenListe.add(Integer.parseInt(sc.nextLine())); streckenListe.add(Integer.parseInt(sc.nextLine()));
} }
} }
// Methode7 // Methode
public void ermittleLaengsteStrecke() throws Exception { public void ermittleLaengsteStrecke() throws Exception {
fügeindieArrayList(); fügeindieArrayList();
double laengsteStrecke = 0; double laengsteStrecke = 0;
for (int i = 0; i <= streckenListe.size(); i++) { 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); System.out.printf("Die laengste Strecke bis jetzt ist %f", laengsteStrecke);
} }
// Methode8 // Methode
public void wievielbiszumZiel() throws Exception { public void wievielbiszumZiel() throws Exception {
fügeindieArrayList(); fügeindieArrayList();
for (int h = 0; h <= streckenListe.size(); h++) { for (int h = 0; h <= streckenListe.size(); h++) {
ziel -= streckenListe.get(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); * public void angabenändern() {
* System.out. * Scanner sc = new Scanner (System.in);
* println("Welche Angaben möchtest du verändern? Name, Gewicht, Koerpergroesse oder Ziel?" * System.out.println("Welche Angaben möchtest du verändern? Name, Gewicht, Koerpergroesse oder Ziel?");
* ); String antwort = sc.nextLine(); if (antwort.equalsIgnoreCase("name")) { * String antwort = sc.nextLine();
* if (antwort.equalsIgnoreCase("name")) {
* *
* } } * }
* }
*/ */
} }

View File

@ -0,0 +1 @@

View File

@ -1,11 +1,29 @@
public class userinterface { public class userinterface {
public static void main(String[] args) { public static void main(String[] args) throws Exception {
//User.berechneGeschwindigkeit(); while (true) {
User.userkontoanlegen();
User.zeigeKonto(); 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;
}
}
} }
} }