|
Strong |
Chiarimento operatori logici |
20-01-2012 15:06 |
|
|
Strong |
.consigliere.
Registered: Dec 2007
Posts: 138 (0.02 al dì)
Location: Bergamo
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 9:25:25 [...]
Status: Offline
Edit | Report | IP: Logged |
Chiarimento operatori logici
Salve,
volevo chiedervi un chiarimento, in particolare è l'esercizio 2 dello scritto del 2 marzo 2011.
Esattamente non ho capito questa parte:
int x = 4;
int y = 3;
boolean b = (x>=(x>y++) ? x++ : y++);
sostituendo i valori nella condizione si ha:
4>=(4>3) [e y diventa 3]
ora, nella parentesi il risultato dovrebbe essere un boolean con risultato true, e ora mi chiede se 4>= di un true? sbaglio a ragionare? qualcuno me lo spiega? thanks!
|
20-01-2012 15:06 |
|
|
| |
|
Strong |
*modifica [e y diventa 4, scusate]. ... |
20-01-2012 15:07 |
|
|
Strong |
.consigliere.
Registered: Dec 2007
Posts: 138 (0.02 al dì)
Location: Bergamo
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 9:25:25 [...]
Status: Offline
Edit | Report | IP: Logged |
*modifica [e y diventa 4, scusate].
|
20-01-2012 15:07 |
|
|
| |
|
Strong |
Risolto da solo.
... |
20-01-2012 16:04 |
|
|
Strong |
.consigliere.
Registered: Dec 2007
Posts: 138 (0.02 al dì)
Location: Bergamo
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 9:25:25 [...]
Status: Offline
Edit | Report | IP: Logged |
Risolto da solo.
Le parentesi ingannano, equivale a dire boolean b = x>=x>y++ ? x++ : y++;
Quindi 4>=4>3 ? true
|
20-01-2012 16:04 |
|
|
| |
|
oksana213 |
Dato:
... |
27-01-2012 20:04 |
|
|
oksana213 |
.amico.
Registered: May 2008
Posts: 23 (0.00 al dì)
Location:
Corso:
Anno:
Time Online: 15:04:37 [...]
Status: Offline
Edit | Report | IP: Logged |
Dato:
int x = 4;
int y = 3;
boolean b = (x>=(x>y++) ? x++ : y++);
Passo 1.
int x=4; int y=3;
(x>y++) ? x++ : y++, i.e. 4>3? SI, e incrementiamo x.
Passo 2.
int x=5; y=4 (y si è incrementato dopo la valutazione x>y++)
x>=(...)?, i.e.5>=5? SI.
Passo 3.
boolean b=TRUE.
Risultato finale:
int x = 5;
int y = 4;
boolean b = TRUE;
|
27-01-2012 20:04 |
|
|
| |
|
Strong |
[QUOTE][i]Originally posted by oksana213 [/i]
... |
28-01-2012 20:44 |
|
|
Strong |
.consigliere.
Registered: Dec 2007
Posts: 138 (0.02 al dì)
Location: Bergamo
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 9:25:25 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by oksana213
Dato:
int x = 4;
int y = 3;
boolean b = (x>=(x>y++) ? x++ : y++);
Passo 1.
int x=4; int y=3;
(x>y++) ? x++ : y++, i.e. 4>3? SI, e incrementiamo x.
Passo 2.
int x=5; y=4 (y si è incrementato dopo la valutazione x>y++)
x>=(...)?, i.e.5>=5? SI.
Passo 3.
boolean b=TRUE.
Risultato finale:
int x = 5;
int y = 4;
boolean b = TRUE;
Grazie ma avevo già risolto.
|
28-01-2012 20:44 |
|
|
| |
|
All times are GMT. The time now is 11:57. |
|
|
|
|
|
|
|
| |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|