char-Array

Heinrich500

Bekanntes Mitglied
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:
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
    Scanner s=new Scanner(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('*'); \\ Die Schleife terminiert noch nicht, noch zu machen.
            } 
         }
       }

}
}
 

httpdigest

Top Contributor
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.
 

Heinrich500

Bekanntes Mitglied
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?
 

mihe7

Top Contributor
Aha. Dann wiederholst Du halt einfach Deine Schleife und gibst dabei entweder ein Leerzeichen oder das Pluszeichen aus.
 

Heinrich500

Bekanntes Mitglied
Also dann:
Java:
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
    Scanner s=new Scanner(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]);
                 feld+="+";
            }
            else {
            System.out.print('*');
            feld+=" ";
            }
          
         }
        
            System.out.print("\n");
            System.out.print(feld);
            System.out.print("\n");
       }

}
}
Wie kriege ich, dass es aufgedeckt bleibt, wenn die Buchstaben übereinstimmen und sonst nicht?
 

mihe7

Top Contributor
Wenn Du weiter mit char-Arrays arbeiten willst, nimmst Du ein weiteres für den "aufgedeckten" Zustand. Das kannst Du initial mit '*' füllen.
 

Heinrich500

Bekanntes Mitglied
Ok dann habe ich Array ergebnis z.b:
Das fülle ich über eine for-Schleife mit *

Java:
 char ergebnis[] =new char[buchstaben.length];
       
        for(int i=0; i<ergebnis.length; i++) {
           
            ergebnis[i]='*';
        }
Wo baue ich das dann ein, um die gleichen Paare anzuzeigen und wie verändere ich das?
 

mihe7

Top Contributor
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.
 

Heinrich500

Bekanntes Mitglied
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?
 

mihe7

Top Contributor
Nach der Ausgabe, die Du jetzt natürlich über ergebnis laufen lassen musst, um die bereits aufgedeckten Buchstaben anzuzeigen.
 

Heinrich500

Bekanntes Mitglied
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
 

Heinrich500

Bekanntes Mitglied
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?
 

mihe7

Top Contributor
Dein Code von vorne mal angepasst:

Java:
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        char buchstaben[]= { 'A', 'B', 'B', 'A' };

        char ergebnis[] = new char[buchstaben.length];
        for (int i = 0; i < ergebnis.length; i++) {
            ergebnis[i] = '*';
        }

        while(zaehler<4){
            System.out.println("Indizes der Spielkarten");

            int index1=s.nextInt();
            int index2=s.nextInt();

            for(int i=0; i<ergebnis.length; i++){
                if((index1==i) || (index2==i)) {
                    System.out.print(buchstaben[i]);
                } else {
                    System.out.print(ergebnis[i]);
                }
            }

            if (buchstaben[index1] == buchstaben[index2]) {
                ergebnis[index1] = buchstaben[index1];
                ergebnis[index2] = buchstaben[index1];
            }
        }
    }
}
 

Heinrich500

Bekanntes Mitglied
Hallo,
also ich muss die while-Schleife terminieren lassen. Dazu folgende Änderung:

Java:
import java.util.Scanner;




public class Test{
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        char buchstaben[]= { 'A', 'B', 'B', 'A' };
        String feld="";
        int zaehler=0;
        char ergebnis[] = new char[buchstaben.length];
        for (int i = 0; i < ergebnis.length; i++) {
            ergebnis[i] = '*';
        }

        while(zaehler<2){
            System.out.println("Indizes der Spielkarten");

            int index1=s.nextInt();
            int index2=s.nextInt();

            for(int i=0; i<ergebnis.length; i++){
                if((index1==i) || (index2==i)) {
                    System.out.print(buchstaben[i]);
                    feld+="^";
                } else {
                    System.out.print(ergebnis[i]);
                    feld+="";
                }
             
            }
             System.out.println(feld);

            if (buchstaben[index1] == buchstaben[index2]) {
                ergebnis[index1] = buchstaben[index1];
                ergebnis[index2] = buchstaben[index1];
                zaehler++;
            }
            System.out.print("\n");
        }
    }
}
Warum funktioniert das mit dem System.out.println(feld); nicht. In der Ausgabe steht das daneben?
 

mihe7

Top Contributor
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.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
D 2D Char Array into String Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
A char array wird überschrieben Java Basics - Anfänger-Themen 6
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
I char Array to String Java Basics - Anfänger-Themen 3
C (char) Array einlesen Java Basics - Anfänger-Themen 8
C Methoden String in char Array Java Basics - Anfänger-Themen 3
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
W Char Array bearbeiten Java Basics - Anfänger-Themen 6
A Char-Array erstellen Java Basics - Anfänger-Themen 35
Z char Array unbekanntes Zeichen selbstständig anlegen Java Basics - Anfänger-Themen 6
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
C char array-positionstausch Java Basics - Anfänger-Themen 6
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
D Best Practice String aufbau - Char Array oder Anhängen Java Basics - Anfänger-Themen 11
S For Schleife Char Array Java Basics - Anfänger-Themen 1
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
B char Array mit ints Java Basics - Anfänger-Themen 7
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
S Array - index von Benutzer eingegebenen char ausgeben Java Basics - Anfänger-Themen 3
M char Array füllen Java Basics - Anfänger-Themen 2
H ArrayList mit char- Array befüllen Java Basics - Anfänger-Themen 12
P Datentypen String auf JTextField wird zu Char-Array und anschließend zu int Java Basics - Anfänger-Themen 12
D Char Array ab bestimmter Stelle in neuem Speichern Java Basics - Anfänger-Themen 13
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
C Leerzeichen im char Array setzen Java Basics - Anfänger-Themen 33
J Alle Vorkommen eines chars in einem Array durch einen anderen char ersetzen Java Basics - Anfänger-Themen 10
N Methode die String in char-Array wandelt!! Java Basics - Anfänger-Themen 11
D Erste Schritte String Array in char Array umwandeln? Java Basics - Anfänger-Themen 1
E Char-Array zu String Java Basics - Anfänger-Themen 2
M Datentypen Char Array in String Array gibt Probleme Java Basics - Anfänger-Themen 10
M Char-Array Problem Java Basics - Anfänger-Themen 6
F Char Array splitten Java Basics - Anfänger-Themen 5
S Mehrdimensionales Char-Array initialisieren Java Basics - Anfänger-Themen 17
S char Array in Character KlassenArray? Java Basics - Anfänger-Themen 24
Semox Datentypen Einlesen von char in Array schlägt unerwartet fehl Java Basics - Anfänger-Themen 4
H Datentypen char array in int umwandeln Java Basics - Anfänger-Themen 9
B Unterschied zwischen String & char Array? Java Basics - Anfänger-Themen 5
B Datentypen Char Array in einen String verwandeln? Java Basics - Anfänger-Themen 2
J char array eintraege geben Java Basics - Anfänger-Themen 2
T Char Array in fremder Klasse Java Basics - Anfänger-Themen 20
S Char Array Werte in short variablen speichern Java Basics - Anfänger-Themen 4
P Array index per char suche auslesen Java Basics - Anfänger-Themen 3
M 2D char Array anzeigen Java Basics - Anfänger-Themen 4
G Zeichenkette in char-Array konvertieren Java Basics - Anfänger-Themen 13
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
J String in char Array Java Basics - Anfänger-Themen 2
J Verständnisfrage zu Char-Array Java Basics - Anfänger-Themen 5
N String/char-array aus datei auslesen Java Basics - Anfänger-Themen 2
M char Array in int Array Java Basics - Anfänger-Themen 3
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
Jen Array einlesen, Int und Char Java Basics - Anfänger-Themen 57
J Char-Array mit variabler Länge zurückliefern. Java Basics - Anfänger-Themen 11
B Deklaration eines char-array Java Basics - Anfänger-Themen 2
F abc char array Java Basics - Anfänger-Themen 3
J char[] reverse Array Java Basics - Anfänger-Themen 9
G Zufällige Buchstaben in char-Array Java Basics - Anfänger-Themen 9
0 Häufigstes Zeichen in einem Char-Array ermitteln? Java Basics - Anfänger-Themen 6
M Char Array mit Sonderzeichen in String umwandeln Java Basics - Anfänger-Themen 21
T String als Array und Umwandlung in Char Java Basics - Anfänger-Themen 7
J StringBuffer-Objekt soll auf Char-Array zugreifen. Java Basics - Anfänger-Themen 4
F char to byte array Java Basics - Anfänger-Themen 8
G Char oder Byte Array mit unbekannter länge erstellen? Java Basics - Anfänger-Themen 1
S Testen ob ein Char Array noch nicht belegt ist! Java Basics - Anfänger-Themen 3
G Char Array konvertieren Java Basics - Anfänger-Themen 7
megachucky probleme mit einem char-array. Java Basics - Anfänger-Themen 6
H char Array in String Java Basics - Anfänger-Themen 7
E Ziffer in char-Array Java Basics - Anfänger-Themen 2
S String in char-Array einfügen Java Basics - Anfänger-Themen 8
G Array und Char Java Basics - Anfänger-Themen 3
Tommilee Char ausgeben Java Basics - Anfänger-Themen 5
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
P9cman Char Index rekursiv finden Java Basics - Anfänger-Themen 4
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
W char über die Konsole? Java Basics - Anfänger-Themen 7
C char c Java Basics - Anfänger-Themen 13
D String und char in String speichern Java Basics - Anfänger-Themen 5
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
A Datentyp char Java Basics - Anfänger-Themen 27
A Char und modulo Java Basics - Anfänger-Themen 8
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
D Datentypen Char deklaration Java Basics - Anfänger-Themen 4
J Java char.at() Probelm Java Basics - Anfänger-Themen 12
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
M Die länge von char Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben