Hallo Leute,
bin erst seit einigen Wochen dabei Java zu lernen. Bin dabei meine zweites Miniprojekt für die Uni zu bearbeiten. Dabie gibt es fünf Fussballmannschaften, welche jeweils einmal gegeneinander spielen. Die Ergebnisse stehen schon fest und werden in folgender Form gespeichert : Im Array tore [hier Mannschaft 0-4] [hier Gegner 0-4] = Wieviele Tore der erstgenannte Verein gegen den Anderen geschossen hat. Der Sieger wird zuallererst über die meisten Siege errechnet. Falls dort einen Unentschieden auftrifft zählt die Tordifferenz. Danach die Anzahl der Tore. Anonsten gibt es keinen Sieger.
Bin meiner Meinung eigentlich auch schon fertig. Aber um unser Ergebnis zu überprüfen, gibt es einen Jack Server. Dieser findet im dynamischen Test jedoch noch einen Fehler. Und zwar wenn angeblich Mannschaft2 aufgrund der Tordifferenz Sieger wird; dann würde jedoch trotzdem einen 0 zurückgegeben werden. Richtig wäre hier dann aber die 2 (1+1, da ja die Arrays mit 0 anfangen).. Habe das mit mehreren Beispielen durchgespielt, aber ich kann dort keinen Fehler entdecken. Vielleicht kann mir ja jemand von euch helfen. Hier mein Code :
public class Miniprojekt2 {
public int findeSieger (int[] [] ergebnisse) {
int Z1, Z2 = 0, Z;
int U1= 0, U2 = 0, U3 = 0;
int TS1 = 0, TS2 = 0, TS3 = 0;
int GT = 0, sieger = 0;
int Daten [] [] = new int [5][5];
for (Z1 = 0; Z1 < ergebnisse.length; Z1++) // Array Daten füllen mit Anzahl Siege / Tore / Tordiffererenz
{GT = 0;
for (Z2 = 0 ; Z2 < ergebnisse[0].length; Z2++)
{if (ergebnisse [Z1] [Z2] > ergebnisse [Z2] [Z1]) Daten [Z1] [0] += 1;
Daten [Z1] [1] += ergebnisse [Z1] [Z2];
GT += ergebnisse [Z2] [Z1];
Daten [Z1] [2] = Daten [Z1] [1] - GT;
;}}
for (Z = 0; Z < Daten.length; Z++) // Überprüfung auf Sieger durch Anzahl Siege
{if (Daten [Z] [0] == TS1) U1 = 1;
if (Daten [Z] [0] > TS1 ) TS1 = Daten [Z] [0];}
if (U1 == 0)
{for (Z = 0; Z <Daten[0].length; Z++)
{if (Daten [Z] [0] == TS1) return sieger = Z+1 ;}}
for (Z = 0; Z < Daten.length; Z++) // Überprüfung Sieger aufgrund von Tordifferenz
{if (Daten [Z] [2] == TS2) U2 = 1;
if (Daten [Z] [2] > TS2 && Daten [Z] [0] == TS1 ) TS2 = Daten [Z] [2];}
if (U2 == 0)
{for (Z = 0; Z <Daten[0].length; Z++)
{if (Daten [Z] [2] == TS2) sieger = Z+1 ;}
return sieger;}
for (Z = 0; Z < Daten.length; Z++) // Überprüfung auf Sieger durch Anzahl Tore
{if (Daten [Z] [1] == TS3) U3 = 1;
if (Daten [Z] [1] > TS3 && Daten [Z] [0] == TS1 && Daten [Z] [2] == TS2 ) TS3 = Daten [Z] [1];}
if (U3 == 0)
{for (Z = 0; Z <Daten[0].length; Z++)
{if (Daten [Z] [1] == TS3) sieger = Z+1 ;}}
return sieger;} // Falls kein Ergebnis müßte hier 0 zurückgeben werden
public static void main (String[] args) {
int tore [] [] = new int [5][5];
tore [0][0] = 0;
tore [0][1] = 1;
tore [0][2] = 1;
tore [0][3] = 9;
tore [0][4] = 3;
tore [1][0] = 3;
tore [1][1] = 0;
tore [1][2] = 1;
tore [1][3] = 6;
tore [1][4] = 0;
tore [2][0] = 3;
tore [2][1] = 3;
tore [2][2] = 0;
tore [2][3] = 0;
tore [2][4] = 0;
tore [3][0] = 1;
tore [3][1] = 1;
tore [3][2] = 0;
tore [3][3] = 0;
tore [3][4] = 2;
tore [4][0] = 1;
tore [4][1] = 0;
tore [4][2] = 3;
tore [4][3] = 0;
tore [4][4] = 0;
Miniprojekt2 projekt = new Miniprojekt2 ();
int sieger=projekt.findeSieger(tore);
if (sieger > 0)
System.out.println("Der Sieger ist Mannschaft " + sieger);
else System.out.println("Es gibt keinen Sieger");
}}
bin erst seit einigen Wochen dabei Java zu lernen. Bin dabei meine zweites Miniprojekt für die Uni zu bearbeiten. Dabie gibt es fünf Fussballmannschaften, welche jeweils einmal gegeneinander spielen. Die Ergebnisse stehen schon fest und werden in folgender Form gespeichert : Im Array tore [hier Mannschaft 0-4] [hier Gegner 0-4] = Wieviele Tore der erstgenannte Verein gegen den Anderen geschossen hat. Der Sieger wird zuallererst über die meisten Siege errechnet. Falls dort einen Unentschieden auftrifft zählt die Tordifferenz. Danach die Anzahl der Tore. Anonsten gibt es keinen Sieger.
Bin meiner Meinung eigentlich auch schon fertig. Aber um unser Ergebnis zu überprüfen, gibt es einen Jack Server. Dieser findet im dynamischen Test jedoch noch einen Fehler. Und zwar wenn angeblich Mannschaft2 aufgrund der Tordifferenz Sieger wird; dann würde jedoch trotzdem einen 0 zurückgegeben werden. Richtig wäre hier dann aber die 2 (1+1, da ja die Arrays mit 0 anfangen).. Habe das mit mehreren Beispielen durchgespielt, aber ich kann dort keinen Fehler entdecken. Vielleicht kann mir ja jemand von euch helfen. Hier mein Code :
public class Miniprojekt2 {
public int findeSieger (int[] [] ergebnisse) {
int Z1, Z2 = 0, Z;
int U1= 0, U2 = 0, U3 = 0;
int TS1 = 0, TS2 = 0, TS3 = 0;
int GT = 0, sieger = 0;
int Daten [] [] = new int [5][5];
for (Z1 = 0; Z1 < ergebnisse.length; Z1++) // Array Daten füllen mit Anzahl Siege / Tore / Tordiffererenz
{GT = 0;
for (Z2 = 0 ; Z2 < ergebnisse[0].length; Z2++)
{if (ergebnisse [Z1] [Z2] > ergebnisse [Z2] [Z1]) Daten [Z1] [0] += 1;
Daten [Z1] [1] += ergebnisse [Z1] [Z2];
GT += ergebnisse [Z2] [Z1];
Daten [Z1] [2] = Daten [Z1] [1] - GT;
;}}
for (Z = 0; Z < Daten.length; Z++) // Überprüfung auf Sieger durch Anzahl Siege
{if (Daten [Z] [0] == TS1) U1 = 1;
if (Daten [Z] [0] > TS1 ) TS1 = Daten [Z] [0];}
if (U1 == 0)
{for (Z = 0; Z <Daten[0].length; Z++)
{if (Daten [Z] [0] == TS1) return sieger = Z+1 ;}}
for (Z = 0; Z < Daten.length; Z++) // Überprüfung Sieger aufgrund von Tordifferenz
{if (Daten [Z] [2] == TS2) U2 = 1;
if (Daten [Z] [2] > TS2 && Daten [Z] [0] == TS1 ) TS2 = Daten [Z] [2];}
if (U2 == 0)
{for (Z = 0; Z <Daten[0].length; Z++)
{if (Daten [Z] [2] == TS2) sieger = Z+1 ;}
return sieger;}
for (Z = 0; Z < Daten.length; Z++) // Überprüfung auf Sieger durch Anzahl Tore
{if (Daten [Z] [1] == TS3) U3 = 1;
if (Daten [Z] [1] > TS3 && Daten [Z] [0] == TS1 && Daten [Z] [2] == TS2 ) TS3 = Daten [Z] [1];}
if (U3 == 0)
{for (Z = 0; Z <Daten[0].length; Z++)
{if (Daten [Z] [1] == TS3) sieger = Z+1 ;}}
return sieger;} // Falls kein Ergebnis müßte hier 0 zurückgeben werden
public static void main (String[] args) {
int tore [] [] = new int [5][5];
tore [0][0] = 0;
tore [0][1] = 1;
tore [0][2] = 1;
tore [0][3] = 9;
tore [0][4] = 3;
tore [1][0] = 3;
tore [1][1] = 0;
tore [1][2] = 1;
tore [1][3] = 6;
tore [1][4] = 0;
tore [2][0] = 3;
tore [2][1] = 3;
tore [2][2] = 0;
tore [2][3] = 0;
tore [2][4] = 0;
tore [3][0] = 1;
tore [3][1] = 1;
tore [3][2] = 0;
tore [3][3] = 0;
tore [3][4] = 2;
tore [4][0] = 1;
tore [4][1] = 0;
tore [4][2] = 3;
tore [4][3] = 0;
tore [4][4] = 0;
Miniprojekt2 projekt = new Miniprojekt2 ();
int sieger=projekt.findeSieger(tore);
if (sieger > 0)
System.out.println("Der Sieger ist Mannschaft " + sieger);
else System.out.println("Es gibt keinen Sieger");
}}