Hey Leute, ich befinde mich aktuell immer noch bei den Grundlagen in Java und frage mich bei der folgende Aufgabe, ob es dort wohl eine smartere Lösung gibt, als ich sie gerade in meinem Kopf habe. Ich suche ungern eine vollständige Lösung, sondern viel mehr einen Denkanstoß. Daher meine Frage - ich befinde mich im zweiten Teil der Aufgabe und frage mich, ob es eine Möglichkeit gibt in Java mehrere int Werte in einem einzigen Case zu prüfen. Oder ist es wirklich Sinn und Zweck der Aufgabe jetzt jeden einzelnen Case von 50 - 100 runterzucoden, um jeden Wert abzufangen? Danke schon mal für Euren Input
Und das ist mein Code bisher:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Bitte geben Sie die maximal zu erreichenden Punkte in der Klausur ein.");
double maximalpunktzahl = scanner.nextInt();
System.out.println("Bitte geben Sie die erreichten Punkte ein");
double erreichtePunkte = scanner.nextDouble();
scanner.close();
double erreichteProzent = (100 / maximalpunktzahl) * erreichtePunkte;
System.out.printf("Die erreichte Prozentanzahl liegt bei %.2f Prozent!", erreichteProzent);
System.out.println();
if (erreichteProzent >= 95) {
System.out.println("Dies enspricht der Note 1,0!");
} else if (erreichteProzent < 95 & erreichteProzent >= 90) {
System.out.println("Dies entspricht der Note 1,3");
} else if (erreichteProzent < 90 & erreichteProzent >= 85) {
System.out.println("Dies entspricht der Note 1,7");
} else if (erreichteProzent < 85 & erreichteProzent >= 80) {
System.out.println("Dies entspricht der Note 2,0");
} else if (erreichteProzent < 80 & erreichteProzent >= 75) {
System.out.println("Dies entspricht der Note 2,3");
} else if (erreichteProzent < 75 & erreichteProzent >= 70) {
System.out.println("Dies entspricht der Note 2,7");
} else if (erreichteProzent < 70 & erreichteProzent >= 65) {
System.out.println("Dies entspricht der Note 3,0");
} else if (erreichteProzent < 65 & erreichteProzent >= 60) {
System.out.println("Dies entspricht der Note 3,3");
} else if (erreichteProzent < 60 & erreichteProzent >= 55) {
System.out.println("Dies entspricht der Note 3,7");
} else if (erreichteProzent < 55 & erreichteProzent >= 50) {
System.out.println("Dies entspricht der Note 4,0");
} else if (erreichteProzent < 50) {
System.out.println("Dies entspricht der Note 5,0");
}
switch ((int) erreichteProzent) {
case 95-100: System.out.println("Dies entspricht der Note 1,0");
case 90-94: System.out.println("Dies entspricht der Note 1,3");
case 85-89:
}
}
}
Und das ist mein Code bisher:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Bitte geben Sie die maximal zu erreichenden Punkte in der Klausur ein.");
double maximalpunktzahl = scanner.nextInt();
System.out.println("Bitte geben Sie die erreichten Punkte ein");
double erreichtePunkte = scanner.nextDouble();
scanner.close();
double erreichteProzent = (100 / maximalpunktzahl) * erreichtePunkte;
System.out.printf("Die erreichte Prozentanzahl liegt bei %.2f Prozent!", erreichteProzent);
System.out.println();
if (erreichteProzent >= 95) {
System.out.println("Dies enspricht der Note 1,0!");
} else if (erreichteProzent < 95 & erreichteProzent >= 90) {
System.out.println("Dies entspricht der Note 1,3");
} else if (erreichteProzent < 90 & erreichteProzent >= 85) {
System.out.println("Dies entspricht der Note 1,7");
} else if (erreichteProzent < 85 & erreichteProzent >= 80) {
System.out.println("Dies entspricht der Note 2,0");
} else if (erreichteProzent < 80 & erreichteProzent >= 75) {
System.out.println("Dies entspricht der Note 2,3");
} else if (erreichteProzent < 75 & erreichteProzent >= 70) {
System.out.println("Dies entspricht der Note 2,7");
} else if (erreichteProzent < 70 & erreichteProzent >= 65) {
System.out.println("Dies entspricht der Note 3,0");
} else if (erreichteProzent < 65 & erreichteProzent >= 60) {
System.out.println("Dies entspricht der Note 3,3");
} else if (erreichteProzent < 60 & erreichteProzent >= 55) {
System.out.println("Dies entspricht der Note 3,7");
} else if (erreichteProzent < 55 & erreichteProzent >= 50) {
System.out.println("Dies entspricht der Note 4,0");
} else if (erreichteProzent < 50) {
System.out.println("Dies entspricht der Note 5,0");
}
switch ((int) erreichteProzent) {
case 95-100: System.out.println("Dies entspricht der Note 1,0");
case 90-94: System.out.println("Dies entspricht der Note 1,3");
case 85-89:
}
}
}