Sehr geehrte Community,
Ich habe vor kurze mit der Java Programmierung begonnen
und mir ein Grundlagenbuch gekauft. :rtfm:
Mithilfe dieses Buches habe ich mehrere einfache Programme pogrammiert.
Jetzt geht es um die Klasse String.
Warum funktioniert folgendes Programm nicht? :noe:
Es soll zwei Objekte vom Typ String verbinden (In Zeile 13: Variable a = a +b mit dem Befehl: a.concat(b)).
Java:
package uebung08;publicclassStringtest{publicstaticvoidmain(String[] args){String a ="Das ist ";String b ="eine Zeichenkette!";System.out.println("Variable a: "+ a);System.out.println("Variable b: "+ b);System.out.println("Variable a und b: "+ a + b);System.out.println("Variable a: "+ a);System.out.println("Variable b: "+ b);
a.concat(b);System.out.println("Variable a: "+ a);System.out.println("Variable b: "+ b);}}
Wahrscheinlich werde ihr mich bei so einem einfachem Fehler,
in einem so einfachen Programm für nich Java kompatiebel halten. :shock:
Trotzdem wäre eine Lösung echt hilfreich.
Danke für eure Antworten. :toll:
Oh, :noe:
danke Leute.
Ihr habt mir wirklich weitergeholfen. :toll: :applaus:
[WR]Aber in meinem Buch,
muss der Wert keinem Objekt zugewiesen werden.
Die Methode speicher das Ergebniss automatisch,
in der dem aufrufenden Objekt (in unserem Fall a).
Das Buch ist allerdings für Java 7
und schon etwas älter.[/WR]
[TIPP]Wo kommt dieser Fehler zustande? ;([/TIPP]
weil dein buch scheinbar leider ziemlicher schrott zu sein scheint
wenn dort solche falschen codes drin stehen ... und (blätter bitte wirklich mal die paar seiten vorher noch mal durch und such bitte danach ... wenn es NICHT drin steht > buch kacke > anderes nehmen) wenn dann noch nicht mal erklärt wird das ein String ein immutable (also ein nicht-veränderbarer) datentyp ist und alle seine operationen grundsätzlich IMMER ein neues objekt returnen ... und auch nicht drauf hingewiesen wird das dies dann in einer neuen variable zu speichern ist ... wirklich .. scheint kein all zu gutes werk sein
nenn und mal den namen und den autor damit man mal nach suchen und sich selbst n bild von machen kann
dont worry : ist ein sehr beliebter anfänger-fehler das man es halt entweder nicht weis oder halt vergisst bei einer operation auf einem immutable das ergebnis entsprechend zu speichern
dir ursache sollte aber eigentlich lang und breit erklärt werden ... ansonsten ist ... wie schon gesagt ... das buch ziemlicher müll
Warum funktioniert folgendes Programm nicht? :noe:
Es soll zwei Objekte vom Typ String verbinden (In Zeile 13: Variable a = a +b mit dem Befehl: a.concat(b)).
Für die Zukunft am Besten dazu schreiben:
==> was ist dein gewünschtes Ergebnis
==> welches ist das tatsächliche (falsche) Ergebnis
Nur die Angabe "funktioniert nicht" hilft nicht weiter!
Man kann in Java keine Strings verbinden, weil Strings in Java unveränderbar sind (immutable). Man kann nur neue Strings aus bereits bestehenden bauen. Man kann aber an einen bestehenden nichts mehr anhängen. Die Methode concat macht also nicht das, was du vermutlich von ihr erwartest.