Erste Schritte while boolean=false läuft nur bei true???

M

marlo

Gast
moin
neuer tag, neues problem
ich bau mir jetzt mal ne kleine glücksradversion
soll nich schön werden, will nur n bisschen üben

folgendes problem
Java:
bolRichtig=false;
 while (bolRichtig=false)
 {
    System.out.println("Bitte den Buchstaben eingeben");
    strBuchstabe = scanner.next();
    if (strWort.contains(strBuchstabe))
    {
     System.out.println(strBuchstabe+" ist enthalten");
        x=0;
        while(x<aryLetter.size())
        {
            if(aryLetter.get(x).equals(strBuchstabe))
            {
            aryTemp.set(x,strBuchstabe);   
        }
         x++;
        }
    }
    if (aryTemp.contains(strPlatz))
    {
        bolRichtig=false;
        //System.out.println("Herzlichen Glückwunsch");     
    }
    System.out.println(""+ aryTemp);
    }

die schleife wird nur durchlaufen, wenn ich while bolRichtig auf true frage, obwohl der boolean auf false gesetzt ist....
jemand ne idee?
mfg martin
 
M

marlo

Gast
kann man eigentlich die ausgabe einer arrayliste formattieren?
aryTemp ist hier arraylist und die ausgabe ist ja immer mit kommata getrennt..oder muss ich da ne neue schleife nehmen, die werte auslesen und als string zusammen setzen?
und wegen !bolxxx ich werds versuchen...alles noch so neu hier ;)
 

mrBrown

Super-Moderator
Mitarbeiter
kann man eigentlich die ausgabe einer arrayliste formattieren?
aryTemp ist hier arraylist und die ausgabe ist ja immer mit kommata getrennt..oder muss ich da ne neue schleife nehmen, die werte auslesen und als string zusammen setzen?
und wegen !bolxxx ich werds versuchen...alles noch so neu hier ;)
Ja, musst du per Hand zusammensetzten. Kannst dafür aber zB Strings.join nutzen
 

Meniskusschaden

Top Contributor
Wenn du die Strings ohnehin nur aneinanderhängen willst, ist join aber bequemer:
Java:
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("join");
        list.add("is");
        list.add("cool");
        System.out.println(list);
        System.out.println(String.join(" ", list));
    }
Ausgabe:
Code:
[join, is, cool]
join is cool
 
M

marlo

Gast
Wie funktioniert Glücksrad?
echt jetzt?
da gabs mal ne fernsehsendung..
buchstaben eines wortes werden maskiert, und dann müssen sie geraten werden. so öhnlich wie hangman nur ohne galgen. der ist mir zuviel zeichnerei.
in meinem prog soll ein zufälliges wort aus einer wortliste (textdatei) gewählt werden.
bis jetzt läufts allerdings erst mit einem vorgegebenem wort. ans einlesen der datei und random auswahl
mach ich mich jetzt..so eine wortliste muss ja auch erstmal erstellt werden ^^
 
X

Xyz1

Gast
Das ist mir immer noch nicht ganz klar,
Buchstaben eines Wortes werden verdeckt und dann muss man sie erraten und kann ggf. das Wort auflösen?
Buchstaben Anzahl/Position bekannt?
Wort wird zufällig gewählt?
Was passiert, rät man einen Buchstaben richtig/falsch?
Wie ist eine Spielrunde?
Wie viele Spieler gibt's?
Gibt's Punkte/Geld/Gewinn?
Was hat ein (Glücks)-rad damit zu tun?
Ein Glossar, um bisschen die Begrifflichkeiten zu klären, wäre auch nicht schlecht - sogar zwingend notwendig.
Also leider ist das keine vollständige Anforderungsdefinition, anhand derer sich ein Infos hinsetzen könnte und den nächsten Schritt im iterativen Entwicklungsprozesses planen könnte.
Agile Ansätze gibt es zwar auch, aber das ist mehr so Microsoft ding - also da fällt die AA einfach mal komplett weg.
----
Wäre gern bereit zu Helfen, aber raten mach~ ich nicht so gern. ;)
----
Wie wär's mit einer natürlichsprachlichen Umschreibung, bestehend aus 2000-3000 Worten? Damit kann ich etwas anfangen. ;)
 

Meniskusschaden

Top Contributor
Wäre gern bereit zu Helfen, aber raten mach~ ich nicht so gern. ;)
----
Wie wär's mit einer natürlichsprachlichen Umschreibung, bestehend aus 2000-3000 Worten? Damit kann ich etwas anfangen. ;)
Er hatte doch nur ein paar konkrete Fragen, für deren Beantwortung man gar nichts über das Glücksrad wissen muss. Bei Interesse kann man ja hier etwas über die Show nachlesen und hier über das Glücksrad.;)
 
M

marlo

Gast
oh je, da hab ich ja wieder was angestellt..
aaalso, bis jetzt läuft:
datei einlesen, zufällige wortauswahl, maskieren der buchstaben, bei eingabe eines richtigen buchstaben werden alle vorkommenden dieses buchstaben demaskiert,
beispiel. - - - - , eingabe z, nicht drin, eingabe b ausgabe: B - - -, usw. bei suchwort AAL würde bei eingabe a dann eben AA- ausgegeben
bei kompletter demaskierung (lösungsworteingabe hab ich noch nicht drin) gibts n herzlichen glückwunsch..
mir ging es um das arbeiten mit strings und einlesen aus einer datei und weils passte random.
jetzt seh ich mir endlich mal eigene klassen/objekte an
bis jetzt is die idee: klasse Spieler, name, punkte, booleanBonus(für ne solorunde auf zeit).
Spieler1:name=pname1, punkte=punkte1..
spieler2:name=pname2, punkte=punkte2..
 
M

marlo

Gast
Java:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package gluecksrad;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
---kann ich den unteren teil nicht eigentlich rausnehmen? java.util.* müsste die doch auch importieren??
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;

public class glueck {
static int a;
static int i;
static int c;
static int x;
static int n;
static int k;
static int j;
static boolean bolRichtig;
static String strWort;
static String outWort;
static String strBuchstabe;
static String strTempWort;
static String strPlatz;
static long rndZahl1;
static long rndZahl2;
/**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws FileNotFoundException, IOException {
 ArrayList<String> wort=new ArrayList<String>();
 ArrayList<String> aryLetter=new ArrayList<String>();
 ArrayList<String> aryTemp=new ArrayList<String>();
 //**************************************************************************
 //             Einlesen der Wortliste
String filePath = "C:\\wordlist.txt";
File file = new File(filePath);
if(file.isFile())
{     
FileInputStream inputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);         
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
//einlesen der datei
stringBuilder.append(bufferedReader.readLine());
while(bufferedReader.ready())
{
stringBuilder.append("\r\n");
stringBuilder.append(bufferedReader.readLine());             
wort.add(bufferedReader.readLine());
  }
  }         
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 //         zufälliges wort wird aus der liste gewählt
 Random rndZahl = new Random();             
   x = 1 + rndZahl.nextInt(wort.size());
   //System.out.println(wort.get(x).toUpperCase());     
 //+++++++++++++++++++++++++++++++++++++++++++++++++
 strWort=(wort.get(x).toUpperCase());
 for (int i=0; i<strWort.length(); ++i) {
 aryLetter.add(""+strWort.charAt(i));
     }
  outWort="";
 strPlatz=" _ ";
 //***********************************************************
 for (int i=0; i<=strWort.length(); ++i) {      //Buchstaben des suchwortes werden  maskiert
 if (i>0)                                     
         {
           outWort+=strPlatz;
           aryTemp.add(strPlatz);
         
        }
     }
 //****************************************************************************
 Scanner scanner = new Scanner(System.in);
bolRichtig=false;
 while (bolRichtig==false)
 {
     System.out.println(outWort);
    System.out.println("Bitte den Buchstaben eingeben");
    strBuchstabe = scanner.next();
    strBuchstabe=strBuchstabe.toUpperCase();
    
    if (strBuchstabe.equals(strWort.toUpperCase()))
    {
       System.out.println("Super");
        bolRichtig=true;
        System.exit(0);
    }
    if (!strWort.contains(strBuchstabe.toUpperCase()))
    {
     System.out.println(strBuchstabe+" ist nicht enthalten");
    }
        x=0;
        while(x<aryLetter.size())
        {
            if(aryLetter.get(x).equalsIgnoreCase (strBuchstabe))
            {
            aryTemp.set(x,strBuchstabe.toUpperCase()); 
        }
         x++;
        }
        outWort="";
    for (int i=0; i<strWort.length(); ++i) {
         outWort+=" " +aryTemp.get(i)+" ";
     }
 
    if (!aryTemp.contains(strPlatz))
    {
        bolRichtig=true;
        System.out.println("Herzlichen Glückwunsch"); 
        System.out.println(""+ outWort);
        System.exit(0);
    }
    }
    }
}

so siehts bis jetzt aus
 
Zuletzt bearbeitet von einem Moderator:

Meniskusschaden

Top Contributor
Es gibt noch einen Fehler beim Einlesen der Datei. Dort rufst du zweimal bufferedReader.readLine()auf, so dass nur jedes zweite Wort in der Wortliste landet. Außerdem ist die Berechnung der Zufallszahl noch nicht korrekt, denn aktuell kann es zu einer IndexOutOfBoundsException kommen. Die Indizes beginnen ja bei 0 und nicht bei 1.
 
M

marlo

Gast
stringBuilder.append(bufferedReader.readLine());
wort.add(bufferedReader.readLine());
du meinst den part? stimmt , eine reihe is überflüssig..die zeile/das wort wird ja einmal in nen string und einmal direkt in das wort.array geschrieben. der part mit dem string wird überhaupt nicht mehr genutzt..leiche von den anfängen ^^
laut tutorial ist das +1 dafür, dass es n random von 1-wort.size() in diesem fall sucht. muss ich ändern , array fängt ja mit 0 an.

danke für den hinweis..eigentlich müsst ich auch wort.size()-1 nehmen..
da sind bestimmt noch mehr "leichen" drin. hab am anfang versucht mit date.gettime() und ner zahl ne random zu bekommen ^^ damals bei vb waren die random immer reproduzierbar. erstes ausführen immer zb 1. da hab ich mit der datetime+variable(rnd) oder so ähnlich zufallszahlen generiert..lang lang ists her..irgendwie so ^^
die kommentare und //**************** oder //++++++ dienen mir zum einteilen was wo passieren soll..zukünftig werd ich das mal versuchen direkt in methoden zu stecken
aber jetzt häng ich an nem anderen problem. das dateieinlesen ist in eine neue java.datei/klasse verschoben und wird aufgerufen..meldung is nur buildung succesfull..und nix passiert.oo
 
M

marlo

Gast
moin, ich bin jetzt dabei das glücksrad n bisschen aufzuräumen.
neue classdatei(javadatei) erstellt. methoden dateieinlesen, zufallszahl, wortmaskieren usw.
problem jetzt - wie kann ich aus den anderen methoden auf die arrays zugreifen die in dateieinlesen angelegt werden..
variablen sind kein problem..mit dateieinlesen.variable..das hab ich rausgefunden ^^
aber ich muss an das array das in dateieilesen angelegt wird aus zufallszahl zb zugreifen.
system.arraycopy, bzw clone wirft auch nur fehler raus...
Java:
public DateiEinlesen() throws FileNotFoundException, IOException
{
ArrayList<String> wort=new ArrayList<String>();
 ArrayList<String> aryLetter=new ArrayList<String>();
 ArrayList<String> aryTemp=new ArrayList<String>();
.
.
}
public static void Zufall(){
 Random rndZahl = new Random();              
   x = 1 + rndZahl.nextInt(wort.size());  //array wort wird nicht gefunden...auch DateiEinlesen.wort geht nicht
mfg martin
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M While-Schleife mit Wartezeit Java Basics - Anfänger-Themen 15
Ranger229 Endless loop in while Schleife Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
Ostkreuz While Schleife neustarten Java Basics - Anfänger-Themen 20
S Erste Schritte do-while Schleife Münzwurf Java Basics - Anfänger-Themen 1
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
P Best Practice While loop schleife Java Basics - Anfänger-Themen 5
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
Say do-While Code Ausführung Java Basics - Anfänger-Themen 3
Say do-while Syntak Java Basics - Anfänger-Themen 3
A Return in While Schleife Java Basics - Anfänger-Themen 6
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
J do..while Schleife Java Basics - Anfänger-Themen 14
W Wiederkehrende Konsolen-Anzeige mit do-While?! Java Basics - Anfänger-Themen 33
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
B Zuweisungen und Methodenaufrufe in Bedingung der while Schleife? Java Basics - Anfänger-Themen 2
JavaBeginner22 Würfeln bis 6 while Schleife Java Basics - Anfänger-Themen 13
G while.next() Verständnisfrage Java Basics - Anfänger-Themen 16
L while Schleife mit 2 Bedingung endet nicht Java Basics - Anfänger-Themen 3
D Array mit while-schleife Java Basics - Anfänger-Themen 12
B do while Schleife Java Basics - Anfänger-Themen 3
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
SergioCK Do while Schleife wiederholen Java Basics - Anfänger-Themen 14
Informatikf Methoden While Schleife Java Basics - Anfänger-Themen 3
M While Schleife? Java Basics - Anfänger-Themen 4
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
A Wie schaffe ich das eine while Schleife addiert danach subtrahirt? Java Basics - Anfänger-Themen 1
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
J for /while Schleife Java Basics - Anfänger-Themen 5
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
S Do-While-Schleife Java Basics - Anfänger-Themen 2
S While Schleife Java Basics - Anfänger-Themen 4
S Do-While Schleife Java Basics - Anfänger-Themen 6
J Von While zu for Java Basics - Anfänger-Themen 42
G While/If Programm Java Basics - Anfänger-Themen 2
L String in Do-While-Schleife Abbruchkriterium Java Basics - Anfänger-Themen 1
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
G Flussdiagramm-Do while Java Basics - Anfänger-Themen 4
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
B Verschachtelung von For-Schleife in While Schleife Java Basics - Anfänger-Themen 14
G while schleife Java Basics - Anfänger-Themen 11
G while schleife mit array Java Basics - Anfänger-Themen 12
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
I Do-While / Kalkulator / Bitte um Hilfe Java Basics - Anfänger-Themen 9
G While schleife Java Basics - Anfänger-Themen 2
mor16Euro Erste Schritte Wie nennt man eine While oder For schleife die nie Ausgeführt wird Java Basics - Anfänger-Themen 5
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
N while Schleife wird nicht beendet, obwohl Sie hätte breaken sollen Java Basics - Anfänger-Themen 4
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
O Erste Schritte Zahlendreieck mit While Java Basics - Anfänger-Themen 2
D Break Sprungmarken Problem einer While True in While True Java Basics - Anfänger-Themen 6
A Erste Schritte while-Schleife Java Basics - Anfänger-Themen 38
W While-Loop unterbrechen Java Basics - Anfänger-Themen 4
X While Do schleife funtioniert nicht Java Basics - Anfänger-Themen 5
J 2 "while"-Anweisungen in einer do-Schleife? Java Basics - Anfänger-Themen 4
W while Schleife und Bedingung Java Basics - Anfänger-Themen 11
T While Schleife funktioniert nicht Java Basics - Anfänger-Themen 14
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
J While Schleife Java Basics - Anfänger-Themen 19
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Methode mit While-Schleife und If-Bedingung und Array-Initialisierung Java Basics - Anfänger-Themen 4
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
E Threads Thread in While-Schleife nur einmal starten Java Basics - Anfänger-Themen 2
R While-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 24
b1ck while-Schleife Java Basics - Anfänger-Themen 10
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
kilopack15 DoWhile-Schleife als While-Schleife darstellen Java Basics - Anfänger-Themen 9
A While-Schleife funktioniert nicht! Java Basics - Anfänger-Themen 33
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
E Alphabet mit einer while Schleife ausgeben Java Basics - Anfänger-Themen 3
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
F Reached end while parsing Java Basics - Anfänger-Themen 6
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
$ Multiplikations-Rechner mit while Schleife Java Basics - Anfänger-Themen 8
T Variablen Var aus While-Schleife abfragen -.-' Java Basics - Anfänger-Themen 9
snipesss Schlüsselworte While Schleife Java Basics - Anfänger-Themen 3
snipesss While Schleife Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben