Hallo zusammen,
ich habe von einem Kollegen ein Code erhalten, mit der Bitte, dass ich das etwas besser anpassen sollte. Leider kann ich ihm da auch nicht viel weiter helfen, weil ich fast genauso umgesetzt hätte. Dafür wollte ich für ihn mal hier nachfragen, ob ihr noch Ideen habt, dass besser umzusetzen.
Er möchte 3 WM Spiele eingeben lassen und sie später als Tabelle ausgeben. Der Gewinner eines Spiels kriegt 3 Punkte und der Verlierer 1 Punkt. Bei Gleichstand kriegen beide 1 Punkt. Wenn am Ende zwei Mannschaften gleich stehen, soll das gesammte Programm wiederholt werden.
Was kann man hier verbessern? Es muss doch einen einfacheren Weg geben, anstatt so viele Variablen zu setzen. Mir fällt aber auch nichts ein.
ich habe von einem Kollegen ein Code erhalten, mit der Bitte, dass ich das etwas besser anpassen sollte. Leider kann ich ihm da auch nicht viel weiter helfen, weil ich fast genauso umgesetzt hätte. Dafür wollte ich für ihn mal hier nachfragen, ob ihr noch Ideen habt, dass besser umzusetzen.
Er möchte 3 WM Spiele eingeben lassen und sie später als Tabelle ausgeben. Der Gewinner eines Spiels kriegt 3 Punkte und der Verlierer 1 Punkt. Bei Gleichstand kriegen beide 1 Punkt. Wenn am Ende zwei Mannschaften gleich stehen, soll das gesammte Programm wiederholt werden.
Java:
import java.util.Scanner;
public class WMgame {
public static void main(String[] args) {
int punkteDeutschland = 0;
int punkteItalien = 0;
int punkteNiederland = 0;
int toreDeutschland = 0;
int toreItalien = 0;
int toreNiederland = 0;
boolean exit = false;
Scanner tastatur = new Scanner(System.in);
while(exit == false) {
System.out.println("\n(1) Italien - Deutschland:");
System.out.print("Tore Italien?: ");
toreItalien = tastatur.nextInt();
System.out.print("\nTore Deutschland?: ");
toreDeutschland = tastatur.nextInt();
if(toreItalien < toreDeutschland) {
punkteDeutschland += 3;
punkteItalien += 1;
}
else if(toreItalien > toreDeutschland) {
punkteDeutschland += 1;
punkteItalien += 3;
}
else {
punkteItalien += 1;
punkteDeutschland += 1;
}
toreItalien = 0;
toreDeutschland 0;
System.out.println("\n(2) Italien - Niederland:");
System.out.print("Tore Italien?: ");
punkteItalien = tastatur.nextInt();
System.out.print("\nTore Niederlande?: ");
punkteNiederland = tastatur.nextInt();
if(toreItalien < toreNiederland) {
punkteDeutschland += 3;
punkteNiederland += 1;
}
else if(toreItalien > toreNiederland) {
punkteNiederland += 1;
punkteItalien += 3;
}
else {
punkteItalien += 1;
punkteNiederland += 1;
}
toreItalien = 0;
toreNiederland = 0;
System.out.println("\n(3) Niederlande - Deutschland:");
System.out.print("Tore Niederlande?: ");
punkteNiederland += tastatur.nextInt();
System.out.print("\nTore Deutschland?: ");
punkteDeutschland += tastatur.nextInt();
if(toreNiederland < toreDeutschland) {
punkteDeutschland += 3;
punkteNiederland += 1;
}
else if(toreNiederland > toreDeutschland) {
punkteNiederland += 1;
punkteDeutschland += 3;
}
else {
punkteDeutschland += 1;
punkteNiederland += 1;
}
toreDeutschland = 0;
toreNiederland = 0;
if(punkteDeutschland != punkteItalien && punkteItalien != punkteNiederland && punkteDeutschland != punkteNiederland) {
System.out.println("\n\nMannschaft:\t\tPunkte:");
System.out.println();
System.out.println("- Italien\t\t" + punkteItalien);
System.out.println("- Deutschland\t\t" + punkteDeutschland);
System.out.println("- Niederland\t\t" + punkteNiederland);
exit = true;
tastatur.close();
}
else {
System.out.println("Bei zwei Mannschaften sind die Punkte gleich. Bitte gib neue Punkte ein\n");
}
}
}
}
Was kann man hier verbessern? Es muss doch einen einfacheren Weg geben, anstatt so viele Variablen zu setzen. Mir fällt aber auch nichts ein.