Variablen Boolean true "übersetzen" in String

JavaRatte

Mitglied
Hallo,

ich hätte eine grundlegende Frage zur Umwandlung von Datentypen/Strings etc.




In meiner main-Methode erzeuge ich eine neue Instanz

Java:
Buch meinBuch1 = new Buch("Autor", "Tite"l, 1999, true);

Wenn ich es ausgebe, wird mir am Ende der boolen true in der Console ausgegeben.

Java:
System.out.println(meinBuch1);

Die Klasse "Buch" beinhaltet

Java:
boolean gelesen; // Gelesen,  wenn true

mit...

Java:
public String toString() {

	return autor + ": " + titel + " (" + erscheinungsjahr + "). " + gelesen + ".";

	}



... und dem Konstruktor:


Java:
	public Buch(String autor, String titel, int erscheinungsjahr, boolean gelesen) {

		this.titel = titel;
		this.autor = autor;
		this.erscheinungsjahr = erscheinungsjahr;
		this.gelesen = gelesen;

	if (this.gelesen == true) {
			System.out.println("Gelesen.");
		}
	    
		    
	}



Die Ausgabe in der Console soll aber nicht lauten "Autor: Titel (Erscheinungsjahr). True", sondern "Autor: Titel (Erscheinungsjahr). Gelesen."

Die if-Abfrage im Konstruktor ermöglicht mir ansich schon die Ausgabe des true-Wertes als Text "Gelesen.".
Aber wie kann ich das "true" gänzlich durch einen String/Text ersetzen?


Viele Grüße und danke!
 
Zuletzt bearbeitet:

Final_Striker

Top Contributor
Die if-Abfrage im Konstruktor ermöglicht mir ansich schon die Ausgabe des true-Wertes als Text "Gelesen.".
Aber wie kann ich das "true" gänzlich durch einen String/Text ersetzen?

Das was du im Konstruktor machst, gehört in die
Code:
toString
-Methode. Das Attribut
Code:
gelesen
sollte vom Typ
Code:
boolean
sein, wie es ausgegeben wird entscheidest du dann in der
Code:
toString
-Methode.
 

JavaRatte

Mitglied
Danke schonmal für den Tipp!

Ich habe es jetzt umgestellt. Aber wie kann ich im toString angeben, dass die System.out.print-Ausgabe am Ende ausgegeben wird?


Buch.java:

Java:
public String toString() {

 if (this.gelesen == true) {
            System.out.print("Das Buch wurde schon gelesen.");
        }
 
    return autor + ": " + titel + " (" + erscheinungsjahr + "). " + gelesen + ".";
 
    }


Konstruktor:


Java:
  public Buch(String autor, String titel, int erscheinungsjahr, boolean gelesen) {
 
        this.titel = titel;
        this.autor = autor;
        this.erscheinungsjahr = erscheinungsjahr;
        this.gelesen = gelesen;
    }




Irgendwo muss ich doch dem Attribut
Code:
gelesen
sagen, wie die Ausgabe aussehen muss oder?

Ich stehe irgendwie auf dem Schlauch...


Irgendwie müsste ich den auszugebenden Text in eine neue Variable speichern, wenn der Fall "true" eintritt oder?

Also in der Art: if (gelesen == true) { // gib den Text aus, anstelle von "gelesen" }
 
Zuletzt bearbeitet:
G

Gast2

Gast
Auf der Konsole ausgeben musst du gar nichts... Du baust den String einfach auf wie du willst.

Java:
public String toString() {
  return autor + ": " + titel + " (" + erscheinungsjahr + "). " + (gelesen ? "gelesen" : "nicht gelesen") + ".";
}
 

AquaBall

Top Contributor
z.B so:
Java:
if (this.gelesen == true) { ...

Vielleicht kann man sich gleich angewöhnen, wozu Booleans gedacht sind:
"elvisLebt" hat den Wert JA oder NEIN

Eine If-Abfrage tut etwas JA oder NEIN,
deshalb sollte nicht auf "if ... == true" abgefragt werden

Besser und logischer und leichter lesbar ist die Abfrage:
Java:
if ( gelesen ) { ...

Die Gegenabfrage lautet:
Java:
if ( ! gelesen) { ...
Wie man auch spricht: "wenn nicht gelesen, dann ..."

So sollten Booleans verwendet werden, deshalb benennt man die Variable ja auch sprachlich eindeutig "gelesen", und nicht mehrdeutig wie z.B. "leseStatus".
 

AquaBall

Top Contributor
Was meinst du mit
Code:
noch andere
?

<ironie>
Du kannst natürlich auch abfragen:
Java:
if (gelesen.toString().equals("true"))
</ironie>
 

GUI-Programmer

Top Contributor
[OT]
@AquaBall:
Das ganze würde sogar wirklich funktionieren, mit ner Wrapper-Klasse:
Java:
boolean gelesen = true;
Boolean temp = gelesen;
System.out.println(temp.toString());
// Ergebnis: true
// !!!!!!!!
[/OT]
 

JavaRatte

Mitglied
Was meinst du mit
Code:
noch andere
?

<ironie>
Du kannst natürlich auch abfragen:
Java:
if (gelesen.toString().equals("true"))
</ironie>

Ja, so in der Art. ;-)

Ich dachte, vielleicht kann man es noch viel umständlicher mit einer for- bzw. while-Schleife lösen.
Aber man muss es ja nicht unnötig kompliziert machen. :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
S Variablen Prüfen, ob einer von vielen boolean true ist Java Basics - Anfänger-Themen 8
D "true" -> Boolean wird false?! Java Basics - Anfänger-Themen 6
M Swing Anwendung - boolean schaltet automatisch auf true Java Basics - Anfänger-Themen 2
K public boolean contains (Object obj) > true or false Java Basics - Anfänger-Themen 16
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
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
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
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
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
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
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
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
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
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
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
H boolean Array Problem Java Basics - Anfänger-Themen 7
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
O boolean Array Frage! Java Basics - Anfänger-Themen 4
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
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
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
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
E 2 dimensionales Boolean Array Java Basics - Anfänger-Themen 5
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
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
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
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
D boolean te wird nicht verwendet Java Basics - Anfänger-Themen 2
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
C cannot convert from int to boolean Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben