Erster Commit
commit
5c08b9ced5
|
|
@ -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>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/bin/
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
||||||
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue