Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Brauche hilfestellung in Java (Werte tauschen)

(Anonym) / 5 Antworten / Flachansicht Nickles

Hallo

Ich habe folgendes Problem:
Ich habe 2 Werte (X und Y) und die sollen getauscht werden !!!
Ohne das ich eine neue Variable deklariere.
int x=5;
int y=10;
Am Ende der progs soll der x Wert 10 sein und y Wert 5.
Wie macht man das das soll ganz einfach sein aber ich bekomme es nicht hin !!

Danke im voraus

bei Antwort benachrichtigen
Anonym (Anonym) „Das Habe ich nicht ganz verstanden. Kannst du mir das mal richtig erklären ???? “
Optionen

Die XOR Funktion hat folgende Wertetabelle

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

Wendet man die XOR Funktion bitweise auf ein Zeichen
an, so ergeben sich interessante Eingenschaften:

(a XOR b) XOR b = a

Die Funktion wird daher auch gerne für minimal
Verschluessellung eingesetzt.

Diese Eigenschaft nutzt das Tauschen

Variable a und b sollen getauscht werden:

a = a XOR b

soweit so gut

b = b XOR a

Was passiert hier... a enthält ja bereits den Wert
(a XOR b). Die Zuweisung lautet also eigentlich

b = b XOR a XOR b

oder umgestellt

b = a XOR b XOR b

Was wie oben ausgeführt identisch mit a ist. Der erste
Tausch war also bereits erfolgreich.

Die letzte Zuweisung

a = a XOR b

Läßt sich auch schreiben als

a = (a XOR b) XOR a

Die Variable b enthält ja bereits den Wert von "a" und
"a" hat z.Z. den Inhalt a XOR b.

umgestellt also

a = b XOR a XOR a

also b. Die Variablen sind getauscht.

mfg. j - www.obira.de

bei Antwort benachrichtigen