Hallo,
ich habe ein char-Array mit doppelten Buchstaben: Ich gebe 2 Indizes und erwarte als Ausgabe an der Stelle * den Buchstaben.
In diesem Bsp für index1=1 und index2=2: *BB*
Wie kriege ich hin, dass in der nächsten Zeile genau unter den Buchstaben ein + steht, also dann so etwas:
*BB*
++
Java:
importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[] args){Scanner s=newScanner(System.in);char buchstaben[]={'A','B','B','A'};char feld=' ';while(zaehler<4){System.out.println("Indizes der Spielkarten");int index1=s.nextInt();int index2=s.nextInt();for(int i=0; i<buchstaben.length; i++){if((index1==i)||(index2==i)){System.out.print(buchstaben[i]);}else{System.out.print('*'); \\ DieSchleife terminiert noch nicht, noch zu machen.}}}}}
Ich versteh's auch nicht. Manchmal glaube ich, dass das, was einen befähigt, klare und verständliche Problembeschreibungen mit klaren Gedankengängen zu formulieren, genau dasselbe ist wie das, was man braucht, um das Problem selbst zu lösen.
Hallo,
es soll eine Art Memory-Simulation sein. Ich habe ein char-Array von einer geraden Anzahl an Buchstaben, wobei jeder Buchstabe doppelt vorkommt. Wenn ich jetzt als Eingabe 2 Indizes des char-Arrays wähle, sollen an der entprechenden Stelle Buchstaben aufgedeckt werden. Der Rest soll * sein. Dabei soll dann, wenn die Buchstaben übereinstimmen, diese offen bleiben. Zur Verdeutlichung, was gerade aufgedeckt ist, soll unter den gewählten Zahlen + stehen.
Versteht ihr was ich meine?
Naja, wenn im Array buchstaben das selbe char ch an den Positionen index1 und index2 steht, dann setzt Du in ergebnis[index1] = ch und ergebnis[index2] = ch.
Ok dann vergleiche ich das so:
if(buchstaben[index1]==buchstaben[index2]) {
ergebnis[index1]=buchstaben[index1];
ergebnis[index2]=buchstaben[index1];
}
Wo kann ich das dann in meinem Hauptprogramm einbauen?
Ich verstehe es gerade nicht.
In der While-Schleife brauche ich dann doch das buchstaben array gar nicht oder?
Ich habe doch dann eine doppelte Ausgabe des Arrays, einmal in der while-Schleife und einmal durch das ergebnis-array
Die Auswahl des Benutzer bekome ich ja durch de for-Schleife mit der if-Anweisung.
Wenn ich damit fertig bin, gebe ich doch zusätzlich das array ergebnis aus?
Weil Du vorher mit System.out.print ohne Zeilenumbruch ausgibst. Du musst unmittelbar nach der for-Schleife einfach ein System.out.println(); einfügen - für den Zeilenumbruch. BTW: im else-Zweig solltest Du ein Leerzeichen " " anfügen. Wenn Du einen leeren String "" anfügst, kannst Du die Zeile auch weglassen.