boolean array hilfe

newbie2009

Bekanntes Mitglied
Ich habe eine Aufgabe nicht ganz verstanden, hoffe ihr könnt mir helfen , und zwar soll ich ein spiel machen, bei dem der Nutzer einen zufälligen Buchstaben drücken, der aber nicht doppelt vorkommen darf.Soweit so gut, nur der boolean array macht mir bisschen probleme und zwar verstehe ich die mit dem Pfeil markierte Stelle nicht ganz, was wird denn da für ein Wert geliefert ? das verstehe ich nicht ganz .???:L


hier die Musterlösung:


Java:
class Util {

	/**
	 * Blockiert das Programm für eine bestimmt Zeit und ueberprueft, ob
	 * waehrend dieser Zeit eine Taste gedrueckt wurde.
	 * 
	 * @param secs
	 *            Anzahl an Sekunden, die gewartet werden soll
	 * @return liefert genau dann true, wenn innerhalb von secs-Sekunden eine
	 *         Taste gedrueckt wurde;
	 */
	public static boolean keyPressed(int secs) {
		return true;
	}
}

public class Spiel {

	public static void main(String[] args) {
		// vermerkt, ob ein Buchstabe bereits einmal (dreimal, fünfmal, ...)
		// ausgegeben wurde
		boolean[] alphabet = new boolean[26];

		// Spielen
		int punkte = 0;
		while (punkte < 10) {
			boolean doppelt = false;
			char buchstabe = generiereBuchstabe();
			if (alphabet[buchstabe - 'a']) {    //  ===>>>>>>> mein problem ;(
				doppelt = true;
			}
			alphabet[buchstabe - 'a'] = !alphabet[buchstabe - 'a'];

			boolean pressed = Util.keyPressed(3);

			// Überprüfung
			if (doppelt && !pressed || !doppelt && pressed) {

				// Verloren
				System.out.println("Leider verloren!");
				return;
			}

			punkte++;
			
			// auch ok ist: keine Punkte, wenn Buchstabe nicht doppelt und nicht gedrückt wurde
		}

		// Gewonnen
		System.out.println("Glückwunsch! Gewonnen!");

	}

	static char generiereBuchstabe() {
		return (char) ((int) (Math.random() * 26) + 'a');
	}

}
 

Marco13

Top Contributor
Der Buchstabe ist z.B. 'a', 'b' oder 'c'. Diese Buchstaben sind eigentlich auch nur Zahlen (der Zahlenwert ist der ASCII-Code des Buchstabens). Wenn man vom Buchstaben 'a' den Buchstaben 'a' abzieht, kommt 0 raus. Bei 'b'-'a' kommt 1 raus. Bei 'c'-'a' ist es 2. Allgemein: Wenn x ein char ist, der einen kleingeschriebenen (!!!) Buchstaben enthält, dann ist x-'a' ein Wert zwischen 0 und 26. Und damit praktisch für einen Arrayindex.
 

newbie2009

Bekanntes Mitglied
hmm soweit so gut , also wird hier mit ASCII gearbeitet, aber dann verstehe ich den teil nicht ganz von der logik
wenn der erste teil "true" ist wird doppelt auf true gesetzt, und dann die nächste zeile??? ist total verwirrend?!?

Java:
 if (alphabet[buchstabe - 'a']) {    //  ===>>>>>>> mein problem ;(
                doppelt = true;
            }
            alphabet[buchstabe - 'a'] = !alphabet[buchstabe - 'a'];
 

eRaaaa

Top Contributor
"Tauscht/Negiert" einfach den aktuellen Wert von [c]alphabet[buchstabe - 'a'][/c]

Also wenn [c]alphabet[buchstabe - 'a'][/c] true ist, wirds nun auf false gesetzt und umgekehrt...
Java:
System.out.println(!true); //false
System.out.println(!false); //true
 

newbie2009

Bekanntes Mitglied
Also leute das ist die Aufgabenstellung :

Implementieren Sie das folgende kleine Spiel, bei dem ein Computer gegen einen Menschen spielt:
Das Spiel wird solange gespielt, bis der Mensch verloren oder 10 Punkte erreicht hat. Es besteht aus mehreren Runden. In jeder Runde generiert der Computer zufällig einen Kleinbuchstaben (‚a‘ … ‚z‘) und gibt diesen auf den Bildschirm aus. Der Benutzer muss dann innerhalb von jeweils 3 Sekunden überprüfen, ob genau dieser Buchstabe bereits zum zweiten, vierten, sechsten (also einem Vielfachen von 2) Mal auf dem Bildschirm erschienen ist. In diesem Fall (und nur in diesem) muss er eine beliebige Taste drücken. Hat er Recht, bekommt er einen Punkt. Hat er Unrecht oder überschreitet die Zeitgrenze von 3 Sekunden, hat er unmittelbar verloren. Erreicht er 10 Punkte, hat er gewonnen.
Achtung: Implementieren Sie das Spiel auf eine imperative Art und Weise. Sie können dabei folgende Klasse benutzen:

public class Util {
/**
* Blockiert das Programm für eine bestimmt Zeit und
* ueberprueft, ob während dieser Zeit eine Taste
* gedrückt wurde.
*
*@param secs
* Anzahl an Sekunden, die gewartet werden soll
* @return liefert genau dann true, wenn innerhalb von
* secs-Sekunden eine Taste gedrückt wurde
*/
public static boolean keyPressed(int secs)
}


Aber irgendwie stehe ich im moment total auf dem schlauch , wie zum beispiel wird hier erkannt, dass ein Buchstabe 2 mal gedrückt wurde oder ein vielfaches von 2 , irgendwie verstehe ich die lösung nicht ganz .Wäre nett wenn einer , der da schneller durchsteigt, mir es vielleicht schrittweise erklären könnte.
 

Murray

Top Contributor
Es geht nicht darum herausfinden, ob ein Buchstabe zweimal gedrückt wurde. Vielmehr musst du dir merken, wie oft jeder Buchstabe bereits angezeigt worden ist. Dann musst du herausfinden, ob diese Anzahl ein Vielfaches von zwei ist - das ist dann der Fall, wenn die Zahl a) nicht 0 und b) ganzzahlig (also ohne Rest) durch 2 teilbar ist. Um den Rest einer ganzzahligen Division zu ermitteln, gibt es in Java den Modulo-Operator (%).


//EDIT: in der Musterlösung wurde das etwas anders gemacht: hier hat man sich nicht die Anzahl gemerkt, sondern jedesmal bei der Anzeige eines Buchstabens ein Flag umgesetzt. Dieses Flag steht so immer dann auf 'true', wenn der Anzahl der Vorkommnisse des Buchstabes ungerade ist.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
W In Methode boolean array zurückgeben Java Basics - Anfänger-Themen 3
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
H boolean Array Problem Java Basics - Anfänger-Themen 7
O boolean Array Frage! Java Basics - Anfänger-Themen 4
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
V Methode erstellen für ein Boolean Array Java Basics - Anfänger-Themen 13
E 2 dimensionales Boolean Array Java Basics - Anfänger-Themen 5
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
T Array und Boolean ? Java Basics - Anfänger-Themen 6
B Zweidimensionales Array mit boolean Werten Java Basics - Anfänger-Themen 3
D Ein boolean[] Array größer als 63.000.000 erstellen? trotz -Xms und -Xmx.... Java Basics - Anfänger-Themen 7
L Boolean Array abfrage Java Basics - Anfänger-Themen 7
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
J Compiler-Fehler Harshadzahlen mit Boolean Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
A Boolean Java Basics - Anfänger-Themen 5
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
J Boolean[] teilen Java Basics - Anfänger-Themen 13
S public static boolean Java Basics - Anfänger-Themen 4
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
K Boolean in einer erstellten Klasse verwenden Java Basics - Anfänger-Themen 14
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
A Boolean in String Java Basics - Anfänger-Themen 2
S Operatoren Boolean Vergleichsoperator Java Basics - Anfänger-Themen 7
Queiser Super boolean Java Basics - Anfänger-Themen 11
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
T Methoden Boolean wird nicht gesetzt Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
W Interpreter-Fehler boolean nur eins darf wahr sein Java Basics - Anfänger-Themen 11
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
T Boolean by Reference Java Basics - Anfänger-Themen 6
L Wertebereich von boolean Java Basics - Anfänger-Themen 4
D Erklärung static boolean Java Basics - Anfänger-Themen 6
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
J Datentypen Boolean Refferenz Objekt Java Basics - Anfänger-Themen 2
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
fLooojava Laufender Thread | Boolean ändern Java Basics - Anfänger-Themen 9
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
A Boolean aus dem ActionlListener Java Basics - Anfänger-Themen 1
T hashCode mit boolean Java Basics - Anfänger-Themen 1
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
M Sind solche boolean Anweisen empfehlenswert? Java Basics - Anfänger-Themen 3
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
J GUI per Boolean steuern Java Basics - Anfänger-Themen 3
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
K Viergewinnt - boolean Problem Java Basics - Anfänger-Themen 2
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
D Boolean mit String Java Basics - Anfänger-Themen 2
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
B assertArrayEquals nicht für boolean[]? Java Basics - Anfänger-Themen 2
M !boolean das selbe wie boolean == false? Java Basics - Anfänger-Themen 3
L Boolean Methode wirft Fehler aus Java Basics - Anfänger-Themen 12
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
F Datentypen Frage nach Boolean Java Basics - Anfänger-Themen 11
C Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 20
B Boolean abfrage Java Basics - Anfänger-Themen 3
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
L Methoden Boolean-Methode Java Basics - Anfänger-Themen 16
S Setter Methode von Boolean Java Basics - Anfänger-Themen 11
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
M int & boolean Java Basics - Anfänger-Themen 12
R boolean, if-else Java Basics - Anfänger-Themen 7
J Variablen Boolean true "übersetzen" in String Java Basics - Anfänger-Themen 10
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
S Name eines boolean ausgeben (nicht den Wert) Java Basics - Anfänger-Themen 43
S Variablen Prüfen, ob einer von vielen boolean true ist Java Basics - Anfänger-Themen 8
D boolean te wird nicht verwendet Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben