Inhalt vom String größer oder kleiner als

rmd

Mitglied
Hallo,

ich arbeite grade an einem Tic Tac Toe Spiel, hab nun aber 2 Probleme. Hier aber erstmal die Ausgangslage:

Am Anfang werden die Spieler nach Ihren Namen gefragt (wird in String Spieler1 bzw. String Spieler2 gespeichert), dann welches Zeichen Sie haben möchten (wird in String Zeichen1 bzw. String Zeichen2 gespeichert). Dieses wird auch schon so kontrolliert das sie wirklich nur 1 Zeichen eingeben können.

Dann wird Ihnen ein Tic Tac Toe Feld angezeigt wo die einzelnen Felder mit 1-9 beschriftet sind, so das sie wissen welche Zahl sie eintippen müssen um passen zu setzen (ist aufgebaut wie ein Nummernblock, also wäre 5 = das feld in der Mitte der Mitte)

Es gibt die Variable int Feld in das die eingegebene Zahl eingelesen wird und dann wird über einen Switsch mit Case 1-9 in das passende Feld eingelesen. Bevor es eingetragen wird, wird im Case aber noch überprüft ob das Feld noch leer ist und wenn nicht wird aufgefordert eine Andere Zahl einzugeben.
Die Abfrage des Feldes und der Switch befindet sich in einer while (true) Schleife, wiederholt sich also bis einer die Siegbedingung erreicht hat--> Die Siegbedingung muss auch noch mit einprogrammiert werden

Das funktioniert auch schon alles. Hier sind aber meine 2 Probleme:

1. Wie schaffe ich es das hier:

System.out.print("Spieler, bitte geben Sie die Ziffer des nächsten Feldes ein");

immer anstatt von Spieler der Spielername des aktuellen Spielers ausgegeben wird (also Quasi immer abwechselnd, außer er muss erneut eingeben weil das Feld schon belegt ist)


2. Wie bekomme ich es hin das immer das jeweilig passende Zeichen ausgegeben wird. Also das nicht immer die Variable von Spieler 1 in dem Feld eingetragen wird sondern abwechselnd die jeweilige Variable. Als Beispiel:

Spieler 1: x
Spieler 2: y

Spieler 1 setzt auf 1-->unten links wird x eingetragen
Spieler 2 setzt auf 9--> oben rechts wird y eingetragen



Ich hoffe es ist halbwegs verständlich was ich meine und Ihr könnt mir helfen!

mfg
 

rmd

Mitglied
Ähm...der Titel passt jetzt mal überhaupt nicht, weiß nicht wie das passiert ist. Kann Ihn leider nicht mehr ändern, könnte das ein Admin übernehmen?

Hier ist der aktuelle Quellcoe, allerdings heißen die Variablen schon wieder etwas anders...

Code:
public class Arbeitsversion
{
  public static void main(String [] args)
  {
    // Deklarationen
    int auswahlBereich;
    int player= 1;
    String spieler1;
    String spieler2;
    String zeichens1 = " ";
    String zeichens2 = " ";
    String ol="", om="", or="", ml="", mm="", mr="", ul="", um="", ur="";
    
    //Spielanleitung
    System.out.println("Spielfeld\n\n");
    System.out.println("7" + " I " + "8" + " I " + "9");
    System.out.println("---------");
    System.out.println("4" + " I " + "5" + " I " + "6");
    System.out.println("---------");
    System.out.println("1" + " I " + "2" + " I " + "3");
    System.out.println("\n\n\n");
    
    
    //Spielernamen
    System.out.print("Spieler 1, wie heißen Sie?: ");
    spieler1 = Kbd.readString();
    System.out.println("\n");
    System.out.print("Spieler 2, wie heißen Sie?: ");
    spieler2 = Kbd.readString();
    System.out.println("\n");
    
    //Auswahl des Zeichens für die Spieler
    while (true)
    {
      System.out.print("Hallo " + spieler1 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: ");
      zeichens1 = Kbd.readString();
      
      
      if((zeichens1.length() > 1) ||( zeichens1.length() < 1))
      {
        System.out.print("Bitte genau 1 Zeichen eingeben!\n");
        continue;
      }       
      System.out.println("\n");
      
      System.out.print("Hallo " + spieler2 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: ");
      zeichens2 = Kbd.readString();
      
      if((zeichens2.length() > 1) ||( zeichens2.length() < 1))
      {
        System.out.print("Bitte genau 1 Zeichen eingeben!\n");
        continue;
      }
      
      System.out.println("\n\n\n");
      
      if (zeichens1.equals(zeichens2))
      {
        System.out.println("Zeichen sind gleich! Bitte geben Sie unterschiedliche Zeichen ein!");
        continue;
      }
      
      else
      break;               
    }
    
    while (true)
    {
      
      
      
      //Auswahl des Bereichs
      System.out.println("" + player + ", bitte wähle einen Bereich durch die Eingabe einer Ziffer aus");
      System.out.print("Bereich: ");
      auswahlBereich = Kbd.readInt();
      if (auswahlBereich > 9 | auswahlBereich < 1)
      {
        System.out.println("\n Feld nicht vorhanden! Bitte geben Sie eine Zahl zwischen 1 und 9 ein!\n");
        continue;
      }
      switch(auswahlBereich)
      {
        case 1:
        if(ul.equals(""))
        {
          ul = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 2:
        if(um.equals(""))
        {
          um = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 3:
        if(ur.equals(""))
        {
          ur = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 4:
        if(ml.equals(""))
        {
          ml = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 5:
        if(mm.equals(""))
        {
          mm = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 6:
        if(mr.equals(""))
        {
          mr = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 7:
        if(ol.equals(""))
        {
          ol = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 8:
        if(om.equals(""))
        {
          om = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 9:
        if(or.equals(""))
        {
          or = zeichens1;
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
      }
      System.out.println("\n\n\n");
      
      
      //aktuelles Spielfeld
      System.out.println("Spielfeld\n\n");
      System.out.println(ol + " I " + om + " I " + or);
      System.out.println("---------");
      System.out.println(ml + " I " + mm + " I " + mr);
      System.out.println("---------");
      System.out.println(ul + " I " + um + " I " + ur);
      System.out.println("\n\n\n");
      
      if (player == 1) 
      {
        player=2;
      } // end of if
      else
      {
        player=1;  
      }
    }
  }
}
 

TKausL

Top Contributor
Java:
System.out.println((player == 1)?spieler1:spieler2 + ", bitte wähle einen Bereich durch die Eingabe einer Ziffer aus");

So zum Beispiel...
 

rmd

Mitglied
Mhh...so wie es da jetzt steht kommt bei Spieler 1 immer nur der Name und nicht der Text dahinter. Bei Spieler 2 funktioniert es. Woran kann das liegen?

Schon mal Danke für deine Hilfe!

mfg
 

Templarthelast

Bekanntes Mitglied
Da wurde eine Klammer vergessen:

Java:
System.out.println(((player == 1)?spieler1:spieler2) + ", bitte wähle einen Bereich durch die Eingabe einer Ziffer aus");

Oben wurde entweder Spieler 1 oder Spieler2 + Text ausgebenen statt (Spieler1 oder Spieler2) + Text.
 

rmd

Mitglied
Danke für die schnelle Hilfe!

Weil ich auch lernen will, wofür steht das ? in dem QC?

Kann man so ähnlich auch das mit den passenden Zeichen umsetzen?

mfg
 

rmd

Mitglied
So auch das Problem mit den abwechseln der Zeichen (z.B. x/y) hab ich jetzt wie folgt gelöst:

Code:
case 1:
        if(ul.equals(" "))
        {
          ul = ((player == 1)?zeichens1:zeichens2);
          break;
        }


Ein neues Problem ist mir dafür aber aufgefallen. Und zwar funktioniert es wenn Spieler 1 als zeichen etwas mehrstelliges oder leer eingibt das er mit seinem Namen angesprochen wird es nochmal einzugeben:

Hallo Hans, bitte wählen Sie Ihr Symbol aus. Zeichen: ha
Bitte genau 1 Zeichen eingeben!

Hallo Hans, bitte wählen Sie Ihr Symbol aus. Zeichen:


Wenn allerdings Spieler 2 einen Fehler macht fängt alles wieder von Vorne an und Hans muss wieder etwas eingeben. Dies passiert ja wegen dem continue welches bei

Code:
if((zeichens2.length() > 1) ||( zeichens2.length() < 1))
      {
        System.out.print("Bitte genau 1 Zeichen eingeben!\n\n");
        continue;

steht. Gibt es dein einen Befehl durch dem nur Hoch bis zur Ausgabe von "Hallo " + spieler2 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: " zurückspringen kann, bzw. einen weg wie ich es umbauen muss damit es funktioniert?

Ich hoffe Ihr könnt mir wieder so toll helfen :)

mfg
 

rmd

Mitglied
So hab mich jetzt mal registriert, so schnell wie man hier Hilfe bekommt, das ist ja unglaublich *-*


Danke für deinen Tipp, manchmal ist die Lösung so einfach und man sieht sie trotzdem nicht -.-


mfg
 
Zuletzt bearbeitet von einem Moderator:

rmd

Mitglied
Hey,

ich benötige nochmal eure Hilfe :/

Also ich habe nun die Bedingugenn zum Sieg mit reinprogrammiert:

Code:
/* Ist-Zustand: Eine Spielrunde, Eingabe des Zeichens und des Bereichs erforderlich
   Aufgabe: Speichern der Auswahl
            Mehrere Spielrunden zulassen
*/

public class Arbeitsversion3
{ //Start Klasse
  public static void main(String [] args)
  {  //Start Main
    
    
    // Deklarationen
    int auswahlBereich;
    int player= 1;
    String spieler1;
    String spieler2;
    String zeichens1 = " ";
    String zeichens2 = " ";     
    String ol=" ", om=" ", or=" ", ml=" ", mm=" ", mr=" ", ul=" ", um=" ", ur=" ";
    
    //Spielanleitung
    System.out.println("Spielfeld\n\n");
    System.out.println("7" + " I " + "8" + " I " + "9");
    System.out.println("---------");
    System.out.println("4" + " I " + "5" + " I " + "6");
    System.out.println("---------");
    System.out.println("1" + " I " + "2" + " I " + "3");
    System.out.println("\n\n\n");
    
    
    //Spielernamen
    System.out.print("Spieler 1, wie heißen Sie?: ");
    spieler1 = Kbd.readString();
    System.out.print("Spieler 2, wie heißen Sie?: ");
    spieler2 = Kbd.readString();
    System.out.println("\n");
    
    //Auswahl des Zeichens für die Spieler
    while (true)
    { //while-Schleife Spieler 1
      System.out.print("Hallo " + spieler1 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: ");
      zeichens1 = Kbd.readString();
      
      if((zeichens1.length() > 1) ||( zeichens1.length() < 1))
      {  //Start If-->Prüfen des Zeichen für Spieler 1
        System.out.print("Bitte genau 1 Zeichen eingeben!\n\n");
        continue;
      }  //Ende If-->Prüfen des Zeichen für Spieler 1
      
      else
      {   
        break;
      }  
    } 
    
    while (true) 
    { 
      System.out.print("Hallo " + spieler2 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: ");
      zeichens2 = Kbd.readString();
      
      if((zeichens2.length() > 1) ||( zeichens2.length() < 1))
      {  //Start If-->Prüfen des Zeichen für Spieler 2
        System.out.print("Bitte genau 1 Zeichen eingeben!\n\n");
        continue;
      }  //Ende If-->Prüfen des Zeichen für Spieler 2
      
      System.out.println("\n\n\n");
      if (zeichens1.equals(zeichens2))
      {  //Start If-->Prüfen ob Zeichen Gleich
        System.out.println("Zeichen sind gleich! Bitte geben Sie unterschiedliche Zeichen ein!");
        continue;
      }  //Ende If-->Prüfen ob Zeichen Gleich
      
      else 
      {
        break;  
      } // end of if-else 
      
    } // end of while
    
    
    while (true)
    {
      //Auswahl des Bereichs
      System.out.print(((player == 1)?spieler1:spieler2) + ", in welchen Bereich möchten Sie setzen?: ");     
      auswahlBereich = Kbd.readInt();
      if (auswahlBereich > 9 | auswahlBereich < 1)
      {
        System.out.println("\n Feld nicht vorhanden! Bitte geben Sie eine Zahl zwischen 1 und 9 ein!\n");
        continue;
      }
      
      switch(auswahlBereich)
      {
        case 1:
        if(ul.equals(" "))
        {
          ul = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 2:
        if(um.equals(" "))
        {
          um = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 3:        
        if(ur.equals(" "))
        {
          ur = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 4:
        if(ml.equals(" "))
        {
          ml = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 5:
        if(mm.equals(" "))
        {
          mm = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 6:
        if(mr.equals(" "))
        {
          mr = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 7:
        if(ol.equals(" "))
        {
          ol = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 8:
        if(om.equals(" "))
        {
          om = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 9:
        if(or.equals(" "))
        {
          or = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
      }
      System.out.println("\n\n\n");
      
      
      //aktuelles Spielfeld
      System.out.println("Spielfeld\n\n");
      System.out.println(ol + " I " + om + " I " + or + "                        7" + " I " + "8" + " I " + "9");
      System.out.println("---------                        ---------");
      System.out.println(ml + " I " + mm + " I " + mr + "                        4" + " I " + "5" + " I " + "6");
      System.out.println("---------                        ---------");
      System.out.println(ul + " I " + um + " I " + ur + "                        1" + " I " + "2" + " I " + "3");
      System.out.println("\n\n\n");
      
      
      if (player == 1) 
      {
        player=2;
      } // end of if
      else
      {
        player=1;  
      }
      System.out.println(); 
      String check = " ";
      boolean won = false;
      
      
      if (ol.equals(mm) && mm.equals(ur) && !ol.equals(check)) {
        
        won = true;
        if (ol.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (ol.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      }
      else if (or.equals(mm) && mm.equals(ul) && !or.equals(check)) {
        
        won = true;
        if (or.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (or.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      }
      else if (ol.equals(ml) && ml.equals(ul) && !ol.equals(check)) {
        
        won = true;
        if (ol.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (ol.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      }
      else if (om.equals(mm) && mm.equals(um) && !om.equals(check)) {
        
        won = true;
        if (om.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (om.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      }
      else if (or.equals(mr) && mr.equals(ur) && !or.equals(check)) {
        
        won = true;
        if (or.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (or.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      }
      else if (ol.equals(om) && om.equals(or) && !ol.equals(check)) {
        
        won = true;
        if (ol.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (ol.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      }
      else if (ml.equals(mm) && mm.equals(mr) && !ml.equals(check)) {
        
        won = true;
        if (ml.equals(zeichens1))
        System.out.println(spieler1 + "hat gewonnen");
        else if (ml.equals(zeichens2))
        System.out.println(spieler2 + "hat gewonnen");
        
      }
      else if (ul.equals(um) && um.equals(ur) && !ul.equals(check)) {
        
        won = true;
        if (ul.equals(zeichens1))
        System.out.println(spieler1 +  "hat gewonnen");
        else if (ul.equals(zeichens2))
        System.out.println(spieler2 +  "hat gewonnen");
        
      } 
    }
    
  }
}


Wenn ich nun den Gewinnauswahlteil in eine eigene Methode packe, also so:

Code:
static void checkWinner(String spieler1, String spieler2)  {
		
		System.out.println();
		String check = ;
		boolean won = false;
		
 
		if (ol.equals(mm) && mm.equals(ur) && !ol.equals(check)) {
 
			won = true;
			if (ol.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (ol.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (or.equals(mm) && mm.equals(ul) && !or.equals(check)) {
 
			won = true;
			if (or.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (or.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (ol.equals(ml) && ml.equals(ul) && !ol.equals(check)) {
 
			won = true;
			if (ol.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (ol.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (om.equals(mm) && mm.equals(um) && !om.equals(check)) {
 
			won = true;
			if (om.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (om.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (or.equals(mr) && mr.equals(ur) && !or.equals(check)) {
 
			won = true;
			if (or.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (or.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (ol.equals(om) && om.equals(or) && !ol.equals(check)) {
 
			won = true;
			if (ol.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (ol.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (ml.equals(mm) && mm.equals(mr) && !ml.equals(check)) {
 
			won = true;
			if (ml.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (ml.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		}
		else if (ul.equals(um) && um.equals(ur) && !ul.equals(check)) {
 
			won = true;
			if (ul.equals(zeichens1))
				System.out.println(spieler1 +  " hat gewonnen");
			else if (ul.equals(zeichens2))
				System.out.println(spieler2 +  " hat gewonnen");
 
		} 
		
		System.out.println(won); 
		
		if (won != true) {
			printPlaayGround();
			getInput(spieler1,spieler2);
		} 
		else if (won == true  counter == 9) {
			System.out.println();
			System.out.println(Wollen Sie noch mal spielen jn );
			BufferedReader again = new BufferedReader(new InputStreamReader(System.in));
			playAgain = again.readLine(); 

			if (playAgain.equals(j)) {
				
				play(spieler1, spieler2); }
			else 
				won = false;
				System.out.println(Sie haben das Spiel beendet); 
				
			
			
		}


Bekomme ich die Fehlermeldung "illegal start of expression".
Woran liegt das, bzw. was hab ich falsch gemacht?

mfg
 

rmd

Mitglied
Ok, hier ist die genaue Fehlermeldung:

Compiliere C:\Users\rmaas\Google Drive\Arbeitsversion3.java mit Java-Compiler
Arbeitsversion3.java:217:7: error: illegal start of expression
static void checkWinner(String spieler1, String spieler2)
^
Arbeitsversion3.java:217:14: error: illegal start of expression
static void checkWinner(String spieler1, String spieler2)
^
Arbeitsversion3.java:217:30: error: ';' expected
static void checkWinner(String spieler1, String spieler2)
^
Arbeitsversion3.java:217:54: error: ';' expected
static void checkWinner(String spieler1, String spieler2)
^
Arbeitsversion3.java:217:55: error: not a statement
static void checkWinner(String spieler1, String spieler2)
^
Arbeitsversion3.java:217:63: error: ';' expected
static void checkWinner(String spieler1, String spieler2)
^
6 errors

mfg

edit: Beim Post an sich sind die Hütchen falsch platziert, also hier nochmal wo sie genau sind:
Fehler 1: unterm s bei static
Fehler 2: unterm v bei void
Fehler 3: unter dem ( nach CheckWinner
Fehler 4: unter dem Leerzeichen zwischen String und spieler2
Fehler 5: unterm s bei spieler2
Fehler 6: unter dem ) Zeichen am ende
 
Zuletzt bearbeitet:

rmd

Mitglied
Stimmt, hab dort nun ein oder ( | ) eingebaut, leider bestehen die Fehler weiter.
Vor allem verstehe ich nicht was die Fehlermeldung mir sagen soll, wenn da z.B. steht

error: ';' expected

und ich ein ; an die Stelle setze kommt ne Fehlermeldung die über dieses ; meckert...

Ich hoffe Ihr könnt mich ein wenig aufklären.

mfg
 

rmd

Mitglied
So ich hab nochmal ein wenig an dem QC gearbeitet. Nun gibt es zwar keine fehlermeldung mehr, allerdings wird die Methode Siegbedingung scheinbar nicht aufgerufen. Das Programm funktioniert nämlich mit allen anderen Funktionen, allerdings wird nicht erkannt wenn jemand gewonnen hat.

Hier mal der Gesamte Code wie ich Ihn habe:

Java:
/* Ist-Zustand: Eine Spielrunde, Eingabe des Zeichens und des Bereichs erforderlich
   Aufgabe: Speichern der Auswahl
            Mehrere Spielrunden zulassen
*/

public class Arbeitsversion3
{ //Start Klasse
  public static void main(String [] args)
  {  //Start Main
    
    
    // Deklarationen
    int auswahlBereich;
    int player= 1;
    int counter= 0;
    String spieler1;
    String spieler2;
    String zeichens1 = " ";
    String zeichens2 = " ";     
    String ol=" ", om=" ", or=" ", ml=" ", mm=" ", mr=" ", ul=" ", um=" ", ur=" ";
    
    //Spielanleitung
    System.out.println("Spielfeld\n\n");
    System.out.println("7" + " I " + "8" + " I " + "9");
    System.out.println("---------");
    System.out.println("4" + " I " + "5" + " I " + "6");
    System.out.println("---------");
    System.out.println("1" + " I " + "2" + " I " + "3");
    System.out.println("\n\n\n");
    
    
    //Spielernamen
    System.out.print("Spieler 1, wie heißen Sie?: ");
    spieler1 = Kbd.readString();
    System.out.print("Spieler 2, wie heißen Sie?: ");
    spieler2 = Kbd.readString();
    System.out.println("\n");
    
    //Auswahl des Zeichens für die Spieler
    while (true)
    { //while-Schleife Spieler 1
      System.out.print("Hallo " + spieler1 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: ");
      zeichens1 = Kbd.readString();
      
      if((zeichens1.length() > 1) ||( zeichens1.length() < 1))
      {  //Start If-->Prüfen des Zeichen für Spieler 1
        System.out.print("Bitte genau 1 Zeichen eingeben!\n\n");
        continue;
      }  //Ende If-->Prüfen des Zeichen für Spieler 1
      
      else
      {   
        break;
      }  
    } 
    
    while (true) 
    { 
      System.out.print("Hallo " + spieler2 + ", bitte wählen Sie Ihr Symbol aus. Zeichen: ");
      zeichens2 = Kbd.readString();
      
      if((zeichens2.length() > 1) ||( zeichens2.length() < 1))
      {  //Start If-->Prüfen des Zeichen für Spieler 2
        System.out.print("Bitte genau 1 Zeichen eingeben!\n\n");
        continue;
      }  //Ende If-->Prüfen des Zeichen für Spieler 2
      
      System.out.println("\n\n\n");
      if (zeichens1.equals(zeichens2))
      {  //Start If-->Prüfen ob Zeichen Gleich
        System.out.println("Zeichen sind gleich! Bitte geben Sie unterschiedliche Zeichen ein!");
        continue;
      }  //Ende If-->Prüfen ob Zeichen Gleich
      
      else 
      {
        break;  
      } // end of if-else 
      
    } // end of while
    
    
    while (true)
    {
      //Auswahl des Bereichs
      System.out.print(((player == 1)?spieler1:spieler2) + ", in welchen Bereich möchten Sie setzen?: ");     
      auswahlBereich = Kbd.readInt();
      if (auswahlBereich > 9 | auswahlBereich < 1)
      {
        System.out.println("\n Feld nicht vorhanden! Bitte geben Sie eine Zahl zwischen 1 und 9 ein!\n");
        continue;
      }
      
      switch(auswahlBereich)
      {
        case 1:
        if(ul.equals(" "))
        {
          ul = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 2:
        if(um.equals(" "))
        {
          um = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 3:        
        if(ur.equals(" "))
        {
          ur = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 4:
        if(ml.equals(" "))
        {
          ml = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 5:
        if(mm.equals(" "))
        {
          mm = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 6:
        if(mr.equals(" "))
        {
          mr = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 7:
        if(ol.equals(" "))
        {
          ol = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 8:
        if(om.equals(" "))
        {
          om = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
        case 9:
        if(or.equals(" "))
        {
          or = ((player == 1)?zeichens1:zeichens2);
          break;
        }
        else
        {
          System.out.print("\nDer Bereich ist leider schon belegt\n\n"); 
          continue;
        }
      }
      System.out.println("\n\n\n");
      
      
      //aktuelles Spielfeld
      System.out.println("Spielfeld\n\n");
      System.out.println(ol + " I " + om + " I " + or + "                        7" + " I " + "8" + " I " + "9");
      System.out.println("---------                        ---------");
      System.out.println(ml + " I " + mm + " I " + mr + "                        4" + " I " + "5" + " I " + "6");
      System.out.println("---------                        ---------");
      System.out.println(ul + " I " + um + " I " + ur + "                        1" + " I " + "2" + " I " + "3");
      System.out.println("\n\n\n");
      
      
      if (player == 1) 
      {
        player=2;
      } // end of if
      else
      {
        player=1;  
      } 
    } 
  }      
  
  
  
  
  
  
  
  
  static void Siegbedingung(String spieler1, String spieler2, String ol, String om, String or, String ml, String mm, String mr, String ul, String um, String ur, String zeichens1, String zeichens2, int counter) 
  {        
    System.out.println(); 
    String check = " ";
    boolean won = false;
    String ja = "j";
    String nochmal = " ";
    
    if (ol.equals(mm) && mm.equals(ur) && !ol.equals(check)) 
    {
      won = true;
      if (ol.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (ol.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");           
    }
    
    else if (or.equals(mm) && mm.equals(ul) && !or.equals(check)) 
    {
      won = true;
      if (or.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (or.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");            
    }
    
    else if (ol.equals(ml) && ml.equals(ul) && !ol.equals(check)) 
    {
      won = true;
      if (ol.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (ol.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");
    }
    
    else if (om.equals(mm) && mm.equals(um) && !om.equals(check)) 
    {
      won = true;
      if (om.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (om.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");
    }
    
    else if (or.equals(mr) && mr.equals(ur) && !or.equals(check)) 
    {          
      won = true;
      if (or.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (or.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");          
    }
    
    else if (ol.equals(om) && om.equals(or) && !ol.equals(check)) 
    {         
      won = true;
      if (ol.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (ol.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");          
    }
    
    else if (ml.equals(mm) && mm.equals(mr) && !ml.equals(check)) 
    {          
      won = true;
      if (ml.equals(zeichens1))
      System.out.println(spieler1 + "hat gewonnen");
      else if (ml.equals(zeichens2))
      System.out.println(spieler2 + "hat gewonnen");            
    }
    
    else if (ul.equals(um) && um.equals(ur) && !ul.equals(check)) 
    {          
      won = true;
      if (ul.equals(zeichens1))
      System.out.println(spieler1 +  "hat gewonnen");
      else if (ul.equals(zeichens2))
      System.out.println(spieler2 +  "hat gewonnen");
    }
    
    
    
    
    
    
    System.out.println(won); 
    
    if (won != true)
    {
      return;
    } 
    
    else if (won == true | counter == 9) 
    {
      System.out.println();
      System.out.println("Wollen Sie noch mal spielen j/n ");
      nochmal  = Kbd.readString();
      
    }  
    
    if(nochmal.equals(ja))
    {
      return;
    }
    
    else
    {
      won = false;
      System.out.println("Sie haben das Spiel beenet"); 
    }          
  }  
}

Ich hoffe Ihr könnt mir sagen was diesmal noch fehlt.

mfg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I String ersetzen, der Inhalt enthält Java Basics - Anfänger-Themen 4
H Universitätsaufgabe String inhalt Kontrollieren Java Basics - Anfänger-Themen 9
F Variablen JTextField-Inhalt kann nicht mit String abgeglichen werden Java Basics - Anfänger-Themen 2
Silvascus Inhalt eines externen Textdokuments an einen String übergeben Java Basics - Anfänger-Themen 2
K Variablenname soll der Inhalt vom String sein Java Basics - Anfänger-Themen 2
C Erste Schritte String-INhalt in TXT ausgeben Java Basics - Anfänger-Themen 7
U OOP Array vom Typ String > Inhalt ausgeben Java Basics - Anfänger-Themen 8
M String auf Inhalt überprüfen Java Basics - Anfänger-Themen 11
M String Inhalt wird überschrieben (Subklassen verwenden denselben String) Java Basics - Anfänger-Themen 13
E Inhalt zwischen zwei String auslesen? Java Basics - Anfänger-Themen 8
F String-Inhalt als Datatype-Name Java Basics - Anfänger-Themen 5
J Stringname aus Inhalt eines String erzeugen Java Basics - Anfänger-Themen 12
P Inhalt von org.w3c.dom.Document in String Variable speichern Java Basics - Anfänger-Themen 3
G Inhalt vom Typ File --> String Java Basics - Anfänger-Themen 5
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
J Datentypen CSV to DB Leere Zellen in CSV mit Inhalt? Java Basics - Anfänger-Themen 11
karlmasutra OOP Inhalt eines Array ausgeben lassen Java Basics - Anfänger-Themen 8
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
L Namensliste mit Array zeigt nicht den gewünschten Inhalt Java Basics - Anfänger-Themen 12
Zeekay Development Methoden Methoden Inhalt Abhängig vom Objekt? Java Basics - Anfänger-Themen 9
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
M Ordner mit Inhalt löschen Java Basics - Anfänger-Themen 7
R getrennte Objekte aus Klasse erstellen : warum Inhalt dann gleich ? Java Basics - Anfänger-Themen 2
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
O Zip-File Inhalt einlesen Java Basics - Anfänger-Themen 3
S Inhalt aus anderen Klassen verwenden Java Basics - Anfänger-Themen 1
H Input/Output Inhalt einer GUI in Textdatei speichern Java Basics - Anfänger-Themen 1
M Wie gebe ich den Inhalt aus? Java Basics - Anfänger-Themen 17
K Inhalt von einer csv-Datei abspeichern Java Basics - Anfänger-Themen 3
P Seite auf Inhalt prüfen Java Basics - Anfänger-Themen 2
U Inhalt von JTextfield an andere Klasse weitergeben Java Basics - Anfänger-Themen 13
Uzi21 jTable / Inhalt speichern Java Basics - Anfänger-Themen 2
T CSV auf Inhalt und Zeilen überprüfen Java Basics - Anfänger-Themen 2
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
T Aufgerufene Methode Inhalt der übergebenen Referenz Java Basics - Anfänger-Themen 5
1 den Inhalt eines Arrays umdrehen Java Basics - Anfänger-Themen 11
A Leere Datei wird ohne Inhalt geschrieben, obwohl Inhalt geschrieben wurde. Java Basics - Anfänger-Themen 4
K Inhalt in den Zwischenspeicher legen Java Basics - Anfänger-Themen 2
kaoZ Input/Output Verzeichnis Inhalt in combobox ausgeben Java Basics - Anfänger-Themen 8
G JTable: Inhalt einer selektierten Zeile speichern Java Basics - Anfänger-Themen 2
G Inhalt einer JTextArea wird nicht dargestellt Java Basics - Anfänger-Themen 8
J Inhalt in einem Text-File finden und in ein Array schreiben Java Basics - Anfänger-Themen 5
F Erste Schritte if Inhalt Java Basics - Anfänger-Themen 7
L Split + Zeilen einer Datei mit bestimmtem Inhalt löschen Java Basics - Anfänger-Themen 23
M Array Inhalt kopieren Java Basics - Anfänger-Themen 3
O Container Inhalt auslesen Java Basics - Anfänger-Themen 2
M Inhalt/Wert aus einer JList ablesen Java Basics - Anfänger-Themen 5
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
B Datentypen Inhalt von Objekten miteinander vergleichen Java Basics - Anfänger-Themen 2
I Mehrere ArrayLists mit einer for( : ) Schleife auf Inhalt prüfen Java Basics - Anfänger-Themen 6
R Erste Schritte Objekte mit anderen Objekten als Inhalt Java Basics - Anfänger-Themen 4
F Kopieren von Ordner sammt inhalt Java Basics - Anfänger-Themen 5
I Datei einlesen, Inhalt in MAP ablegen Java Basics - Anfänger-Themen 10
E Inhalt von Option Feldern auslesen? Java Basics - Anfänger-Themen 2
Helgon Inhalt - Aktualisierungs Problem Java Basics - Anfänger-Themen 7
T Inhalt Gridlayout wird nicht angezeigt Java Basics - Anfänger-Themen 6
O Variablen Variablen Inhalt von Webseite einlesen!? Java Basics - Anfänger-Themen 2
M Inhalt eines Strings um eins hochzählen Java Basics - Anfänger-Themen 19
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
B jar Inhalt anzeigen Java Basics - Anfänger-Themen 5
H Input/Output Inhalt einer TextArea in Hex umwandeln Java Basics - Anfänger-Themen 10
D Textfile lesen/schreiben abhängig vom inhalt Java Basics - Anfänger-Themen 6
J Inhalt eines Arrays vergleichen? Java Basics - Anfänger-Themen 8
X Collections Inhalt von zwei Collections prüfen Java Basics - Anfänger-Themen 4
D jTable befüllen mit dynamischem Inhalt Java Basics - Anfänger-Themen 11
M Inhalt Textfeld prüfen Java Basics - Anfänger-Themen 4
H Java-Fenster ohne Inhalt Java Basics - Anfänger-Themen 2
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
B Datentypen Inhalt zum Iterator wieder aufrufen? Java Basics - Anfänger-Themen 10
S Inhalt eines Vektors ausgeben Java Basics - Anfänger-Themen 2
D Inhalt einer Liste auf nur ein Wert überprüfen ohne die Liste komplett zu interieren Java Basics - Anfänger-Themen 6
M Tabelle mit immer sortiertem Inhalt Java Basics - Anfänger-Themen 5
S JFileChooser - Dateinamen vorschlagen/Inhalt der Ausgabe prüfen Java Basics - Anfänger-Themen 3
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
C Inhalt eines Strings in JLabel ausgeben? Java Basics - Anfänger-Themen 21
L Inhalt von JEditorPane löschen Java Basics - Anfänger-Themen 4
G Inhalt Jar-Files anzeigen, incl. Methoden Java Basics - Anfänger-Themen 2
D HashMap mit Inhalt kopieren Java Basics - Anfänger-Themen 8
M [J3D] Applet-Inhalt Speichern (Manipulationen etc. ...) Java Basics - Anfänger-Themen 2
X JTable --> Spaltenbreiter am dargestellten Inhalt anpassen Java Basics - Anfänger-Themen 4
C JPanel Inhalt anpassen Java Basics - Anfänger-Themen 4
P Objekte im Array speichern und auf den Inhalt zugreifen ? Java Basics - Anfänger-Themen 4
S Inhalt von GUI-Eingabe drucken Java Basics - Anfänger-Themen 7
Sweety JTable Inhalt löschen Java Basics - Anfänger-Themen 10
O OOP FileOutputStream überschreibt ganzen inhalt der txt Java Basics - Anfänger-Themen 4
K Inhalt eines Elements aus dem Objekt Array auslesen Java Basics - Anfänger-Themen 9
B mehrer comboboxes mit dem selben inhalt befüllen Java Basics - Anfänger-Themen 8
B Inhalt einer Datei ausgeben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben