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.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<Integer> streckenListe = new ArrayList<>();
public static HashMap<String, User> 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<String, User> userListe = new HashMap<>();
// Methode
public static void kontoanlegen() {
public static void userkontoanlegen() {
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")) {
*
* } }
* }
* }
*/
}

View File

@ -0,0 +1 @@

View File

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