Wörterraten - Falsche Ausgabe, String/Chars vergleichen

JaVaN0oB

Mitglied
Hallo :)

Ich habe die Aufgabe, ein Wörterraten zu programmieren.
Es soll über Kommandozeilenparameter das zu erratende Wort und die maximale Anzahl der Versuche übergeben werden.

Sobald mehr als ein Zeichen eingegeben wird, soll das gleich mit dem Wort abgeglichen werden.

Mein Programm sieht derzeit so aus:

[CODE lang="java" title="Test.java"]import java.io.*;
import java.util.*;

public class Woerterraten {

public static void main(String[] args) {

Scanner t = new Scanner(System.in);

char verwendet[];
String wort = args[0];
String ergebnis = "_";
int i = Integer.parseInt(args[0]);
String in;
char input = 0;
boolean[] richtig = new boolean[wort.length()];
char[] name = wort.toCharArray();//new char[wort.length()];
boolean stop = false;
char[] vorkommen = new char;
int vollstaendig=0;



while (i > 0 || stop == true) {
in = t.nextLine();
// Wenn Wort nur 1 Zeichen, wandle in char
if (in.length() == 1) {
input = in.charAt(0);
for (int j = 0; j < i; j++) {
if (input == vorkommen[j]) {
System.out.println("Buchstabe kam bereits vor");
}
}
name[wort.length() - 1] = input;

for (int j = 0; j < wort.length(); j++) {
if (wort.charAt(j) == input) {
richtig[j] = true;



}
}

if (i > 1) {
for (int j = 0; j < wort.length(); j++) {

if (richtig[j]) {
System.out.print(wort.charAt(j));
} else {
System.out.print("_");
}
}
}

} else if (i == 1) {
System.out.println("Maximale Anzahl an Versuchen ueberschritten");
} else if (i == 2) {
System.out.println("Versuche fuer " + wort);
} else if (in.equals(wort)) {
//System.out.println(in + " "+ wort);

System.out.println(i + " Versuche für " + wort);
stop = true;
} else {
System.out.println("Falsches Wort");
}


//if(richtig[j] = true){
for (int j2 = 0; j2 > richtig.length; j2--) {
vollstaendig=0;
if (richtig[j2]==true) {
vollstaendig++;
}
if (vollstaendig == 0) {
System.out.println(i + "Versuche für " + wort);
stop = true;
}
System.out.println(richtig[j2]);
}


i = i - 1;

}

}
}[/CODE]

Leider sind die Ausgaben nicht ganz richtig.
Was mache ich falsch? :(

Die Ausgabe soll wie in der Datei aussehen (links = input, rechts = erwarteter output).
Oben links kann man die Eingabe sehen: objektorientierung ist das Wort und man hat 13 Versuche.
 

Anhänge

  • Ausgabe.png
    Ausgabe.png
    28,4 KB · Aufrufe: 29
Und das wäre mein Woerterraten:

Java:
import java.util.HashSet;
import java.util.Scanner;

public class Woerterraten {

    private StringBuilder wortOffen = null;
    private StringBuilder wortVerdeckt = null;
    private int anzahlRichtig = 0;
    private int anzahlFalsch = 0;
    private HashSet<Character> versuche = new HashSet<>();
    private Scanner input = new Scanner(System.in);

    public Woerterraten(String wort) {
        wortOffen = new StringBuilder(wort);
        wortVerdeckt = new StringBuilder();
        for (int i = 0; i < wort.length() * 2 - 1; i++) {
            if (i % 2 == 0) {
                wortVerdeckt.append('_');
            } else {
                wortVerdeckt.append(' ');
            }
        }

        while (true) {
            System.out.println("Suchwort: " + wortVerdeckt);
            next();
            if (!wortVerdeckt.toString().contains("_")) {
                System.out.println("Suchwort: " + wortVerdeckt);
                System.out.println("Super, du hast gewonnen!!!");
                System.out.println("Richtige Versuche : " + anzahlRichtig);
                System.out.println("Falsche Versuche  : " + anzahlFalsch);
                System.out.println("Gesamt            : " + (anzahlRichtig + anzahlFalsch));
                return;
            }
        }
    }

    private void next() {
        System.out.println("Dein Buchstabe:");
        char c = (char) input.next().chars().findFirst().orElse('0');
        if (Character.isUpperCase(c))
            c = Character.toLowerCase(c);
        if (c < 'a' || c > 'z') {
            System.out.println("Das war ein ungültiger Buchstabe...");
            return;
        }
        if (versuche.contains(c)) {
            System.out.println("Den Buchstaben hattest du schon mal...");
            anzahlFalsch++;
        } else {
            versuche.add(c);

            boolean richtig = false;
            for (int i = 0; i < wortOffen.length(); i++) {
                int j = i * 2;
                if (wortOffen.charAt(i) == c && wortVerdeckt.charAt(j) == '_') {
                    wortVerdeckt.replace(j, j + 1, Character.toString(c));
                    richtig = true;
                }
            }
            if (richtig) {
                System.out.println("Bravo, dein Buchstabe kam vor...");
                anzahlRichtig++;
            } else {
                System.out.println("Pech, dieser Buchstabe kam nicht vor...");
                anzahlFalsch++;
            }
        }
    }

    public static void main(String[] args) {
        new Woerterraten("bananentorte");
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
volcanos HashSet und Iterator -> Falsche Sortierreihenfolge ? Java Basics - Anfänger-Themen 18
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
L Falsche Methode wird geladen Java Basics - Anfänger-Themen 2
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R StringBounds falsche Ergebnisse Java Basics - Anfänger-Themen 5
D Falsche Zeile wird in JTable gelöscht Java Basics - Anfänger-Themen 6
W Array in String und String in Array - falsche Ausgaben Java Basics - Anfänger-Themen 20
T Falsche Ausgabe ???? Java Basics - Anfänger-Themen 13
S Falsche Ausgabe Java Basics - Anfänger-Themen 6
M Input/Output ISBN Leser - falsche Eingabe ausgeben Java Basics - Anfänger-Themen 2
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
R Methoden Switch wählt das Falsche Java Basics - Anfänger-Themen 17
K Falsche Methode Java Basics - Anfänger-Themen 3
J Falsche Darstellung von Float Java Basics - Anfänger-Themen 2
M Falsche Eingabe wiederholen lassen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M falsche implementierung von currentTimeMillis() ? Java Basics - Anfänger-Themen 14
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
P Falsche Werte bei Zeitmessungen Java Basics - Anfänger-Themen 7
Helgon Falsche Zeichen im Text Java Basics - Anfänger-Themen 10
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
G Bubblesort - Falsche Sortierung Java Basics - Anfänger-Themen 6
D Kriege falsche MD5 Java Basics - Anfänger-Themen 12
R run ->eclipse ruft falsche Programme auf Java Basics - Anfänger-Themen 5
D p q formel gibt zum Teil falsche Werte aus Java Basics - Anfänger-Themen 5
S Falsche Version? Java Basics - Anfänger-Themen 2
C Falsche Zeit Java Basics - Anfänger-Themen 2
V Falsche Augabe Java Basics - Anfänger-Themen 16
C Klammern einlesen!!! Falsche Ausgabe!!!! Java Basics - Anfänger-Themen 4
S Falsche Reihenfolge von Methodenaufrufen Java Basics - Anfänger-Themen 8
H Falsche Eingabe über try-catch abfangen Java Basics - Anfänger-Themen 2
K Verschiebeoperatoren - manchmal falsche Ergebnisse Java Basics - Anfänger-Themen 7
L Datenbankanbindung ODBC falsche pfadangabe? Java Basics - Anfänger-Themen 3
O Falsche Bed. (ein überlauf) seh den Fehler aber nicht. Java Basics - Anfänger-Themen 3
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
S Falsche Ausgabe Java Basics - Anfänger-Themen 3
L Wegen TableSorter wird falsche Zeile einer Tabelle gelöscht? Java Basics - Anfänger-Themen 2
G falsche Version Java Basics - Anfänger-Themen 3
L Falsche Umsetzung von MVC, brauche Hilfe Java Basics - Anfänger-Themen 6
D Tabelle -> Daten eingeben -> Falsche erhalten Java Basics - Anfänger-Themen 9
S Falsche Ausgabe? Java Basics - Anfänger-Themen 2
F Falsche Daten aus Datei Java Basics - Anfänger-Themen 2
G Falsche Java befehle, doch was ist falsch? Java Basics - Anfänger-Themen 9
C falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
M Falsche do-Schleife? Java Basics - Anfänger-Themen 4
E falsche Ausgabe Java Basics - Anfänger-Themen 7
D Falsche Datumsausgabe? Java Basics - Anfänger-Themen 5
J erhalte falsche Kalenderwoche - wo ist der Fehler? Java Basics - Anfänger-Themen 2
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25

Ähnliche Java Themen

Neue Themen


Oben