Erster Commit

master
PC 2024-01-07 12:28:00 +01:00
commit 5c08b9ced5
5 changed files with 322 additions and 0 deletions

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

1
Semesteraufgabe/.gitignore vendored 100644
View File

@ -0,0 +1 @@
/bin/

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Semesteraufgabe</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,292 @@
import java.util.Date;
import java.util.Scanner;
public class SemesteraufgabePR1 {
public static double max(int mode) {
if (mode == 2)
mode = 1;
if (mode != 4)
System.out.println(
"HINWEIS: Dieser Maximalkraft-Rechner funktioniert nur, \n wenn Sie mit sauberer Ausführung bis zum Muskelversagen trainieren.");
double gewicht = 0;
Scanner input = new Scanner(System.in);
boolean loopmax = true;
while (loopmax) {
if (mode == 1) {
System.out.println("Bitte geben Sie Ihr Übungsgewicht an:");
} else if (mode == 3) {
System.out.println("Bitte geben Sie Ihr altes Übungsgewicht an");
} else {
System.out.println("Bitte geben Sie Ihr neues Übungsgewicht an");
}
String eingabe = input.nextLine();
try {
gewicht = Double.parseDouble(eingabe);
loopmax = false;
} catch (Exception e) {
System.out.println("Gewicht nicht erkannt");
}
}
int wdh = 0;
boolean loopmax2 = true;
while (loopmax2) {
if (mode == 1) {
System.out.println("Bitte geben Sie Ihre Wiederholungsanzahl an:");
} else if (mode == 3) {
System.out.println("Bitte geben Sie Ihre alte Wiederholungszahl an");
} else {
System.out.println("Bitte geben Sie Ihre neue Wiederholungszahl an");
}
String eingabe = input.nextLine();
try {
wdh = Integer.parseInt(eingabe);
loopmax2 = false;
} catch (Exception e) {
System.out.println("Wiederholungsanzahl nicht erkannt");
}
}
double[] prozente = { 100, 95, 92.5, 90, 87.5, 85, 82.5, 80, 77.5, 75, 72.5, 70, 66.6, 63.3, 60, 59, 58, 57, 56,
55, 54, 53, 52, 51, 50, 48, 46, 44, 42, 40 };
double prozent = 0;
try {
prozent = prozente[wdh - 1];
} catch (Exception e) {
System.out.println(" ");
}
if (prozent == 0) {
return 0;
} else {
return ((gewicht * 100) / prozent);
}
}
public static String geschlecht() {
Scanner input = new Scanner(System.in);
System.out.println("Bitte geben Sie Ihr Geschlecht an. \n Männlich: m \n Weiblich: w");
return input.nextLine();
}
public static int uebung() {
Scanner input = new Scanner(System.in);
System.out.println(
"Um welche Übung handelt es sich? \n -Bankdrücken(1) \n -Kniebeuge(2) \n -Kreuzheben(3) \n -Kurzhantelschrägbankdrücken(4) ");
int uebung;
try {
uebung = input.nextInt();
} catch (Exception e) {
System.out.println(" ");
uebung = 0;
}
String uebungname = "";
if (uebung == 1) {
uebungname = "Bankdrücken \n";
} else if (uebung == 2) {
uebungname = "Kniebeuge \n";
} else if (uebung == 3) {
uebungname = "Kreuzheben \n";
} else if (uebung == 4) {
uebungname = "Schrägbankdrücken(Kurzhantel) \n";
} else {
System.out.println("Fehler");
}
if (uebung != 0 && uebung < 5)
System.out.printf("--> " + uebungname + "\n");
return uebung;
}
public static int alter() {
Scanner input = new Scanner(System.in);
System.out.println("Bitte geben Sie Ihr Alter an (mindestens 16, max 40)");
int alter = input.nextInt();
return alter;
}
public static double durchschnitt(int uebung, int alter, String geschlecht) {
// Quelle: strengthlevel.de
if (geschlecht.equals("m")) {
double[] schnitt1 = { 60, 62, 65, 67, 69, 70, 71, 72, 73, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
72, 71, 71, 70 };
double[] schnitt2 = { 83, 85, 87, 90, 92, 93, 94, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
96, 95, 95, 94 };
double[] schnitt3 = { 95, 98, 105, 109, 114, 117, 119, 120, 120, 121, 122, 122, 122, 122, 122, 122, 122,
122, 122, 122, 122, 121, 121, 120, 119 };
double[] schnitt4 = { 19, 20, 22, 24, 27, 27, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 28, 28, 28 };
if (uebung == 1) {
return schnitt1[alter - 16];
} else if (uebung == 2) {
return schnitt2[alter - 16];
} else if (uebung == 3) {
return schnitt3[alter - 16];
} else if (uebung == 4) {
return schnitt4[alter - 16];
} else
return 0;
} else if (geschlecht.equals("w")) {
double[] schnitt1 = { 27, 28, 29, 30, 31, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
33, 32, 32, 31 };
double[] schnitt2 = { 42, 43, 44, 46, 48, 49, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
51, 50, 50, 50 };
double[] schnitt3 = { 52, 54, 56, 57, 58, 59, 60, 61, 61, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 62, 62, 61 };
double[] schnitt4 = { 12, 12, 13, 13, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 15, 15, 14 };
if (uebung == 1) {
return schnitt1[alter - 16];
} else if (uebung == 2) {
return schnitt2[alter - 16];
} else if (uebung == 3) {
return schnitt3[alter - 16];
} else if (uebung == 4) {
return schnitt4[alter - 16];
} else
return 0;
} else {
return 0;
}
}
public static double unterschiedstaerker(double max, double durchschnitt) {
return (max / durchschnitt) * 100 - 100;
}
public static double unterschiedschwaecher(double max, double durchschnitt) {
return 100 - ((max / durchschnitt) * 100);
}
public static void main(String[] args) {
long starttime = new Date().getTime();
Scanner input = new Scanner(System.in);
boolean loop = true;
while (loop) {
System.out.println("Was möchten Sie tun?");
System.out.println("- Maximalkraft berechnen (Tippen Sie 1)");
System.out.println("- Sich mit anderen Vergleichen (Tippen Sie 2)");
System.out.println("- Sich mit sich selbst vergleichen (Tippen Sie 3)");
System.out.println("- Programm beenden (Tippen Sie 4)");
int modus;
try {
modus = input.nextInt();
} catch (Exception e) {
System.out.println("Eingabe nicht erkannt.");
modus = 5;
}
if (modus == 1) {
double max = max(modus);
if (max != 0) {
System.out.printf("Ihr Maximalgewicht auf eine Wiederholung beträgt %.2f Kilogramm \n \n", max);
} else {
System.out.println("Fehler: Zu viele Wiederholungen! \n");
}
} else if (modus == 2) {
boolean bol = true;
String geschlecht = " ";
while (bol) {
geschlecht = geschlecht().toLowerCase();
if (geschlecht.equals("w")) {
bol = false;
} else if (geschlecht.equals("m")) {
bol = false;
} else {
bol = true;
}
}
int uebung = 5;
while (uebung > 4) {
uebung = uebung();
}
if (uebung != 0) {
double max = max(modus);
if (max != 0) {
int alter = alter();
double durchschnitt = durchschnitt(uebung, alter, geschlecht);
double unterschied = 0;
if (max > durchschnitt) {
unterschied = unterschiedstaerker(max, durchschnitt);
} else if (max < durchschnitt) {
unterschied = unterschiedschwaecher(max, durchschnitt);
} else {
unterschied = 0;
}
String uebungname = "";
if (uebung == 1) {
uebungname = "Bankdrücken";
} else if (uebung == 2) {
uebungname = "Kniebeuge";
} else if (uebung == 3) {
uebungname = "Kreuzheben";
} else {
uebungname = "Schrägbankdrücken(Kurzhantel)";
}
if (max > durchschnitt) {
System.out.printf("In der Übung " + uebungname
+ " sind Sie %.2f Prozent stärker als der Durchschnitt in Ihrem Alter. \n \n",
unterschied);
} else if (max < durchschnitt) {
System.out.printf("In der Übung " + uebungname
+ " sind Sie %.2f Prozent schwächer als der Durchschnitt in Ihrem Alter. \n \n",
unterschied);
} else {
System.out.println("In der Übung " + uebungname
+ " sind Sie genau so stark wie der Durchschnitt in Ihrem Alter \n \n");
}
} else {
System.out.println("Fehler: Zu viele Wiederholungen! \n");
}
}
} else if (modus == 3) {
double maxalt = max(modus);
if (maxalt == 0) {
System.out.println(" ");
} else {
modus++;
double maxneu = max(modus);
if (maxalt == 0) {
System.out.println(" ");
} else if (maxneu == 0) {
System.out.println(" ");
} else {
if (maxalt < maxneu) {
double differenz = ((maxneu / maxalt) * 100) - 100;
System.out.printf("Sie haben sich um %.2f Prozent gesteigert. Herzlichen Glückwusch! \n",
differenz);
} else if (maxalt > maxneu) {
double differenz = 100 - ((maxneu / maxalt) * 100);
System.out.printf("Sie haben sich um %.2f Prozent verschlechtert. Mein Beileid. \n",
differenz);
} else {
System.out.println(
"Sie haben sich leider nicht gesteigert, aber auch nicht verschlechtert. \n");
}
}
}
} else if (modus == 4) {
System.out.println("Das Programm wurde erfolgreich beendet! \n Ich wünsche Ihnen einen schönen Tag.");
loop = false;
long endtime = new Date().getTime();
long sekunden = (endtime - starttime) / 1000;
System.out.println(" Das Programm war " + (int) (sekunden / 60) + " min und " + (int) (sekunden % 60)
+ " sek aktiv");
} else {
System.out.println("Versuchen Sie es erneut \n");
}
}
input.close();
}
}