PDA

View Full Version : [JAVA] Confronto variabili


vetim
25-05-2009, 10:49
Ciao ragazzi, ho iniziato da 3 giorni Java e mi han dato un esercizio da fare, dati 4 numeri interi inseriti da un utente, far si che il programma dica quale è il piu grande.


import java.util.Scanner;

public class Interi4 {

public static void main (String argv[]) {

int a;
int b;
int c;
int d;

Scanner in = new Scanner (System.in);

System.out.print ("Indica il valore A: ");
a = in.nextInt();

System.out.print ("Indica il valore B: ");
b = in.nextInt();

System.out.print ("Indica il valore C: ");
c = in.nextInt();

System.out.print ("Indica il valore D: ");
d = in.nextInt();

if ((a>b) | (a>c) | (a>d)) System.out.print ("A è il numero piu grande !");

if ((b>a) | (b>c) | (b>d)) System.out.print ("B è il numero piu grande !");

if ((c>a) | (c>b) | (c>d)) System.out.print ("C è il numero piu grande !");

if ((d>a) | (d>b) | (d>c)) System.out.print ("D è il numero piu grande !");
}
}



Se scrivo a=1 ; b=2 ; c=3 ; d=4 --> il prog mi ritorna fuori che B e il piu grande, C e il piu grande, D e il piu grande... :rolleyes:

Qualcuno mi da una mano pf ? :)

wingman87
25-05-2009, 10:51
E' perché hai usato l'or "|" invece dell'and "&"

Andrea16v
25-05-2009, 11:27
Ma si puo' usare l'OR espresso come '|' ?
Io mi ricordo che ai tempi di Java usavo '||' e idem '&&' per l'AND..
ps: userei un else if nei rami successivi al primo!

banryu79
25-05-2009, 11:34
Attenzione che '|' e '&' sono i bitwise OR e AND operators.
Invece '||' e '&&' sono i boolean logical OR e AND operators.

wingman87
25-05-2009, 11:44
Con i booleani il risultato è lo stesso, solo che se usi && se la prima condizione è falsa non vengono valutate le altre e se usi || se la prima è vera non vengono valutate le altre. Mi sembra :D

banryu79
25-05-2009, 13:44
Sì, gli operatori boolean sono corto-circuitati.

vetim
25-05-2009, 21:00
E' perché hai usato l'or "|" invece dell'and "&"

Ti ringrazio, con " & " ora funziona bene :)

Saluti, Vetim.

PS: grazie anche agli altri per l'interessamento, siete i migliori ! ;)