Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Referenzen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Referenzen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Björn
unregistriert
Referenzen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hey,

Gesucht ist die Ausgabe des Programmes:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:

package javasocke;

class Bonbon 
{
    Bonbon bonbon1  = new Bonbon ("weiss");
    Bonbon bonbon2  = new Bonbon ("rot");
    Bonbon bonbon3  = bonbon2;
    Bonbon bonbon4  = bonbon1,
    Bonbon bonbon5  = new Bonbon ("gelb");
    
    bonbon3.setFarbe("gelb");
    bonbon2.setFarbe("schwarz" + bonbon1.getFarbe());
    bonbon1 = bonbon5;
    bonbon5 = bonbon4;
    
    System.out.println("Bonbon1: " + bonbon1.getFarbe());
    System.out.println("Bonbon2: " + bonbon2.getFarbe());
    System.out.println("Bonbon3: " + bonbon3.getFarbe());
    System.out.println("Bonbon4: " + bonbon4.getFarbe());
    System.out.println("Bonbon5: " + bonbon5.getFarbe());
}


Die Ausgaben:

1 = gelb
2 = schwarz weiß
3 = gelb // soll angeblich falsch sein?
4 = weiß
5 = weiß



Warum kommt bei der Nummer 3 nicht gelb als Ergebnis heraus?




Meine Ideen:
Vielen Dank
14.05.2015 10:57
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich ignoriere einfach mal die fehlerhafte Syntax und beantworte nur die Frage.
Ausgabe:
code:
1:
2:
3:
4:
5:
Bonbon1: gelb
Bonbon2: schwarzweiss
Bonbon3: schwarzweiss
Bonbon4: weiss
Bonbon5: weiss


bei schwarzweiß gibt es kein Leerzeichen.
Und da bonbon3 = bonbon2 ist, wirkt sich die Änderung bei einem von beiden auf den jeweils anderen aus, da sie ja das selbe Objekt sind.

__________________
Syntax Highlighting fürs Board (Link)
14.05.2015 11:06 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Björn
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Und da bonbon3 = bonbon2 ist, wirkt sich die Änderung bei einem von beiden auf den jeweils anderen aus, da sie ja das selbe Objekt sind.



Sorry, das verstehe ich nicht wirklich?
14.05.2015 11:13
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
Bonbon bonbon3  = bonbon2;

bonbon2 und bonbon3 sind zwei Zeiger, die auf die selbe Speicheradresse verweisen. Es gibt nur einen Bonbon, dem du zwei Namen gegeben hast.

__________________
Syntax Highlighting fürs Board (Link)
14.05.2015 11:19 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Björn
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das wäre dann bei Bonbon bonbon4 = bonbon1 genauso?
14.05.2015 11:22
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Es gibt 3 Objekte. Ich schreibe den Code mal etwas um, damit du ihn hoffentlich besser verstehst.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
Bonbon instanz1 = new Bonbon("weiss");
Bonbon instanz2 = new Bonbon("rot");
Bonbon instanz3 = new Bonbon("gelb");
Bonbon bonbon1 = instanz1;
Bonbon bonbon2 = instanz2;
Bonbon bonbon3 = bonbon2;
Bonbon bonbon4 = bonbon1;
Bonbon bonbon5 = instanz3;
// bonbon1 = instanz1 (weiß)
// bonbon2 = instanz2 (rot)
// bonbon3 = instanz2 (rot)
// bonbon4 = instanz1 (weiß)
// bonbon5 = instanz3 (gelb)

// bonbon3.setFarbe("gelb");
instanz2.setFarbe("gelb");
// bonbon1 = instanz1 (weiß)
// bonbon2 = instanz2 (gelb)
// bonbon3 = instanz2 (gelb)
// bonbon4 = instanz1 (weiß)
// bonbon5 = instanz3 (gelb)

// bonbon2.setFarbe("schwarz" + bonbon1.getFarbe());
instanz2.setFarbe("schwarz" + instanz1.getFarbe());
// bonbon1 = instanz1 (weiß)
// bonbon2 = instanz2 (schwarzweiß)
// bonbon3 = instanz2 (schwarzweiß)
// bonbon4 = instanz1 (weiß)
// bonbon5 = instanz3 (gelb)

// bonbon1 = bonbon5;
bonbon1 = instanz3;
// bonbon1 = instanz3 (gelb)
// bonbon2 = instanz2 (schwarzweiß)
// bonbon3 = instanz2 (schwarzweiß)
// bonbon4 = instanz1 (weiß)
// bonbon5 = instanz3 (gelb)

// bonbon5 = bonbon4;
bonbon5 = instanz1;
// bonbon1 = instanz3 (gelb)
// bonbon2 = instanz2 (schwarzweiß)
// bonbon3 = instanz2 (schwarzweiß)
// bonbon4 = instanz1 (weiß)
// bonbon5 = instanz1 (weiß)

System.out.println("Bonbon1: " + bonbon1.getFarbe());
System.out.println("Bonbon2: " + bonbon2.getFarbe());
System.out.println("Bonbon3: " + bonbon3.getFarbe());
System.out.println("Bonbon4: " + bonbon4.getFarbe());
System.out.println("Bonbon5: " + bonbon5.getFarbe());


__________________
Syntax Highlighting fürs Board (Link)
14.05.2015 11:30 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Referenzen