import java.util.*;
class Fussballtabelle
{
public static void main ( String[] args )
{
final int ENDSTAND = 3;
Scanner scan = new Scanner( System.in );
int DifA = 0,DifB = 0,DifC = 0,DifD = 0;
int ScoreA = 0,ScoreB = 0,ScoreC = 0,ScoreD = 0;
int ManschaftA = 0,ManschaftB = 0,ManschaftC = 0,ManschaftD = 0;
int a,b,c,d;
String TeamA, TeamB, TeamC, TeamD;
System.out.println("Geben Sie ihr 1. Team ein");
TeamA = scan.nextLine();
System.out.println("Geben Sie ihr 2. Team ein");
TeamB = scan.nextLine();
System.out.println("Geben Sie ihr 3. Team ein");
TeamC = scan.nextLine();
System.out.println("Geben Sie ihr 4. Team ein");
TeamD = scan.nextLine();
System.out.println ("Das 1.Spiel beginnt in einem best of 5");
while ( ManschaftA < ENDSTAND && ManschaftB < ENDSTAND )
{
System.out.println("Die Punkte von " + TeamA + ":");
a = scan.nextInt();
System.out.println("Die Punkte von " + TeamB + ":");
b = scan.nextInt();
if (a>b)
{
ManschaftA = ManschaftA + 1;
System.out.println("" + TeamA + " hat gewonnen!");
}
else
{
ManschaftB = ManschaftB + 1;
System.out.println("" + TeamB + " hat gewonnen!");
}
System.out.println("Score: " + TeamA + "-" + TeamB + " " + a + ":" + b + "\n");
}
System.out.println("Endstand:" + TeamA + "-" + TeamB + " " + ManschaftA + ":" + ManschaftB);
if ( ManschaftB > ManschaftA )
{
ScoreB = ScoreB + 3;
System.out.println("" + TeamB + " hat das 1. Spiel gewonnen!");
}
else
{
ScoreA = ScoreA + 3;
System.out.println("" + TeamA + " hat das 1. Spiel gewonnen!");
}
System.out.println("Das 2. Spiel beginnt in e");
while ( ManschaftC < ENDSTAND && ManschaftD < ENDSTAND )
{
System.out.println("Die Punkte von " + TeamC + ":");
c = scan.nextInt();
System.out.println("Die Punkte von " + TeamD + ":");
d = scan.nextInt();
if (c>d)
{
ManschaftC = ManschaftC + 1;
System.out.println("" + TeamC + " hat gewonnen!");
}
else
{
ManschaftD = ManschaftD + 1;
System.out.println("" + TeamD + " hat gewonnen!");
}
System.out.println("Score: " + TeamC + "-" + TeamD + " " + c + ":" + d + "\n");
}
System.out.println("Endstand:" + TeamC + "-" + TeamD + " " + ManschaftC + ":" + ManschaftD);
if ( ManschaftC > ManschaftD )
{
ScoreC = ScoreC + 3;
System.out.println("" + TeamC + " hat das 2. Spiel gewonnen!");
}
else
{
ScoreD = ScoreD + 3;
System.out.println("" + TeamD + " hat das 2. Spiel gewonnen!");
}
DifA = (DifA-DifB);
DifB = (DifB-DifA);
DifC = (DifC-DifD);
DifD = (DifD-DifC);
int[] unsortiert = {ScoreA, ScoreB, ScoreC, ScoreD};
int[] sortiert = selectionsort(unsortiert);
for (int i = 0; i < sortiert.length; i++) {
System.out.print(sortiert[i] + ", ");
}
}
public static int[] selectionsort(int[] sortieren) {
for (int i = 0; i < sortieren.length - 1; i++) {
for (int j = i + 1; j < sortieren.length; j++) {
if (sortieren[i] > sortieren[j]) {
int temp = sortieren[i];
sortieren[i] = sortieren[j];
sortieren[j] = temp;
}
}
}
return sortieren;
}
}
Schön zuerst best of 5, wer gegen wen? Was passiert danach?Ich möchte gerne das man zuerst im best of 5 spielt und dann werden zuerst die Punkte gewerte
Bei einem Fußballspiel kann es ein unentschieden geben! Natürlich das Team die best of 5 Serie gewonnen, welches als erstes 3 Siege schafft.3 Für den Sieg und 0 für die Niederlage (in einem best of 5 gibt es ja kein Unentschieden )
Für was berechnest du dir die Differenz aus Siegen und Niederlagen? Was passiert dann damit?danach werden aus den siegen und Niederlagen der Runden die Differenz berechnet. Und danach sollten am besten noch die Tore gewertet werden
import java.util.*;
import java.util.Arrays;
public class Fussballtabelle
{
public static void main ( String[] args )
{
final int ENDSTAND = 3;
Scanner scan = new Scanner( System.in );
int DifA = 0,DifB = 0,DifC = 0,DifD = 0;
int ScoreA = 0,ScoreB = 0,ScoreC = 0,ScoreD = 0;
int ManschaftA = 0,ManschaftB = 0,ManschaftC = 0,ManschaftD = 0;
int a,b,c,d;
String TeamA, TeamB, TeamC, TeamD;
System.out.print("Geben Sie Ihr 1. Team ein: ");
TeamA = scan.nextLine();
System.out.print("Geben Sie Ihr 2. Team ein: ");
TeamB = scan.nextLine();
System.out.print("Geben Sie Ihr 3. Team ein: ");
TeamC = scan.nextLine();
System.out.print("Geben Sie Ihr 4. Team ein: ");
TeamD = scan.nextLine();
System.out.println ("Das 1.Spiel beginnt in einem best of 5");
while ( ManschaftA < ENDSTAND && ManschaftB < ENDSTAND )
{
System.out.print("Die Punkte von " + TeamA + ": ");
a = scan.nextInt();
System.out.print("Die Punkte von " + TeamB + ": ");
b = scan.nextInt();
if (a>b)
{
ManschaftA = ManschaftA + 1;
System.out.println("" + TeamA + " hat gewonnen!");
}
else
{
ManschaftB = ManschaftB + 1;
System.out.println("" + TeamB + " hat gewonnen!");
}
System.out.println("Score: " + TeamA + "-" + TeamB + " " + a + ":" + b + "\n");
}
System.out.println("Endstand:" + TeamA + "-" + TeamB + " " + ManschaftA + ":" + ManschaftB);
if ( ManschaftB > ManschaftA )
{
ScoreB = ScoreB + 3;
System.out.println("" + TeamB + " hat das 1. Spiel gewonnen!");
}
else
{
ScoreA = ScoreA + 3;
System.out.println("" + TeamA + " hat das 1. Spiel gewonnen!");
}
System.out.println("Das 2. Spiel beginnt in einem Best of 5");
while ( ManschaftC < ENDSTAND && ManschaftD < ENDSTAND )
{
System.out.print("Die Punkte von " + TeamC + ": ");
c = scan.nextInt();
System.out.print("Die Punkte von " + TeamD + ": ");
d = scan.nextInt();
if (c>d)
{
ManschaftC = ManschaftC + 1;
System.out.println("" + TeamC + " hat gewonnen!");
}
else
{
ManschaftD = ManschaftD + 1;
System.out.println("" + TeamD + " hat gewonnen!");
}
System.out.println("Score: " + TeamC + "-" + TeamD + " " + c + ":" + d + "\n");
}
System.out.println("Endstand:" + TeamC + "-" + TeamD + " " + ManschaftC + ":" + ManschaftD);
if ( ManschaftC > ManschaftD )
{
ScoreC = ScoreC + 3;
System.out.println("" + TeamC + " hat das 2. Spiel gewonnen!");
}
else
{
ScoreD = ScoreD + 3;
System.out.println("" + TeamD + " hat das 2. Spiel gewonnen!");
}
DifA = (DifA-DifB);
DifB = (DifB-DifA);
DifC = (DifC-DifD);
DifD = (DifD-DifC);
Team T1 = new Team(ScoreA, DifA);
System.out.println("T1: " + T1.getScore());
Team T2 = new Team(ScoreB, DifB);
System.out.println("T2: " + T2.getScore());
Team T3 = new Team(ScoreC, DifC);
System.out.println("T3: " + T3.getScore());
Team T4 = new Team(ScoreD, DifD);
System.out.println("T4: " + T4.getScore());
Team[] Team = { T1, T2, T3, T4 };
Arrays.sort(Team);
for (int i = 3; i > Team.length; i--) {
System.out.println(Team[i].getScore());
}
}
}
class Team implements Comparable<Object> {
int Score;
int Dif;
public Team(int Score, int Dif) {
this.Score = Score;
this.Dif = Dif;
}
public int compareTo(Object T) {
if (((Team) T).getScore() == 3 && this.getScore() == 3) {
return 0;
}
if (this.getScore() == 3) {
return 1;
}
if (((Team) T).getScore() == 3) {
return -1;
}
return this.getScore().compareTo(((Team) T).getScore());
}
public int getScore() {
return Score;
}
public int getDif() {
return Dif;
}
}
Heißt was genau? Er sortiert gar nicht? Sortiert falsch?Leider erkennt er den Compare nicht
public int compareTo(Object T) {
if (((Team) T).getScore() == 3 && this.getScore() == 3) {
return 0;
}
if (this.getScore() == 3) {
return 1;
}
if (((Team) T).getScore() == 3) {
return -1;
}
return this.getScore().compareTo(((Team) T).getScore());
}
Das schon, aber du wirst nicht für jeden Spieltag eine neue Klasse Team schreiben bzw. die "compareTo" Methode umschreiben oder?Das hier ist ja so zu sagen der 1. Spieltag also kann der höchste score 3 sein.
Dann nimm diese Meldung und google sie --> https://www.google.at/search?q=int+...firefox-b&gfe_rd=cr&ei=_PFcWLfVB4qm8wefsYrADwOb er falsch oder gar nicht sortiert weiß ich nicht ich bekomme nur immer eine Meldung:
int cannot be dereferenced
Ich weiß noch nicht so richtig was das heißen soll
getScore()
liefert dir ein int zurück, von primitiven Datentypen können keine Methoden aufgerufen werden!