Newsgroup: it.comp.java
Titolo: scambiare valori in java(urgente!!!)

salve a tutti,lo so che non è molto bello scrivere urgente però mi serve
un'informazione,magari penserete banale,ma non riesco a eseguire
un'operazione!
Praticamente devo dichiarare due(solo due!)variabili ed assegnare a esse
valori intere.Comincerei così(devo utilizzare il metodo main,ma per
velocità salto la parte Public class...):
int a=10;
int b=15;
Come faccio a far si che effettivamente(non solo graficamente,ovvero non
posso  scrivere System.out.println"adesso il valore di a è" +b)i due
valori siano scambiati?non posso dichiarare altre variabili
grazie,scusate ma mi serve nel + breve tempo possibile,nel frattempo
ovviamente sto cercando anche sul web e da un libro,ma non saprei
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
a=a^b
b=a^b
a=a^b
fatto!
cercando bene credo lo avresti trovato gia' in diversi post...
Pinolo
ps. cos'e', un compito per scuola/universita'? in tal caso sappi che 
tutti i miei messaggi dicono il falso, questo compreso...

 tutti i miei messaggi dicono il falso, questo compreso...
si,diciamo esercizio,ma com'è che funzia lo stesso?????
grazie!


scusa un'altra cosa,dicendo il falso come al solito mi dici come potrei
fare per scambiare il valore tra queste variabili??
a=1
b=2
c=3
a diventerà b, la b diventerà c, la c diventerà a.
Dicendo il falso come in tutti i miei post sei capace di farlo??


 
e chi ha detto il contrario...? te l'ho detto che tutti i miei messaggi 
dicono il falso...
quindi anche il fatto di dire che ho detto il falso e' falso...
quindi anche il fatto di dire il falso quando dico che ho detto il falso 
e' falso...
se vuoi proseguo...
:-)
per lo scambio a tre pensaci almento dieci minuti... :-)

> per lo scambio a tre pensaci almento dieci minuti... :-)
10-9-8-7-6-5-4-3-2-1-...
sono andato a mangiare,adesso ci penso.......
allora,dato che come il pc sono un terminale stupido non ci arrivo,ma
aspetto i dati in input.
Comunque tu prima avevi fatto cosi:
          a=a^b;
          b=a^b;
          a=a^b;
ne deduco quindi che lo scambio di coppia a 3(non pensare male,sto
parlando di java) sarà:
a=1 b=2 c=3
quindi:
          a=a^b;
          b=a^b;
          a=a^b;
ed a ha il valore di b;
b avrà preso il valore di a,ma questo non va bene.quindi scambio il nuovo
valore di a con c
          a=a^c;
          b=a^c;
          a=a^c;
all'incirca,provo a compilarlo!
sui libri ho letto che scambiare valori non è possibile senza dichiarare
un'altra variabile.
Nel caso delle 2 variabili la chiamano int temp=a.dopodichè il gioco è
fatto.ma
 in sè cosa fa l'operazione che mi hai detto?cioè, 2+2=4 ho capito
xkè ;)  (sono un genio,o no??),ma a=a^b??????????
grazie in modo falsato!


ora ho la soluzione in tasca perfetta:
          a=a^b;
          b=a^b;
          a=a^b;
          b=b^c;
          c=b^c;
          b=b^c;
le prime tre righette hanno semplicemente scambiato a con b e viceversa.
ma in realtà il contenuto della variabile non è stato realmente
cambiato,fino a visualizzazione con System.out.println,altrimenti avrei
scritto:
          a=a^c;
          c=a^c;
          a=a^c; 
in quanto dopo le prime 3 righe A non dovrebbe + avere lo stesso vecchio
valore,ma facendo così mi sposta il vecchio valore di A nella variabile C.
è giusto il ragionamento???????????????????????????????????
rispondendo il falso dirai la verità,ma che cos'è la verità se dici il
falso?essere o non essere?questo è il dilemma....fatti non foste a viver
come bruti....pensieri che si addicono ad un futuro programmatore del
pc?Bhè,al livello in cui sono adesso,spera per l'umanità che diventi
programmatore il + tardi possibile!sai com'è!!!
Comunque al massimo,ci sarà sempre un certo pinolo pronto a darmi una
mano....


 è giusto il ragionamento???????????????????????????????????
a me pare giusto ;-)
comunque secondo me finche' avrai voglia di impallarti il cervello con 
giochini come questi (oltre che con il paradosso del messaggio falso... 
:-) ) non potrai fare altro che migliorare e tendere a diventare un 
ottimo programmatore :-)
in bocca al lupo per il proseguimento della carriera :-)
Pinolo