04/07/12 0:38
Archer312
Salve a tutti, in attesa che il libro ordinato mi arrivi, ne sto attualmente leggendo un altro per approfondire i concetti base imparati in giro, a mio parere un buon libro, completo ecc..., ma purtroppo mostra negli esempi cose che magari non spiega in quel determinato capitolo, quindi mi porta inevitabilmente, se voglio capire l'esempio, a cercare da fonti esterne quel determinato metodo che non viene spiegato esattamente li.
Dunque, porgo le seguenti domande sui metodi Math.floor() e Math.random().
Dunque, il metodo Math.floor() arrotonda il numero per difetto e per eccesso?
E allora che differenza c'è fra i codici?
System.out.println((int)(Math.random()*10));
Non arrotonda ugualmente rispetto a:
System.out.println(Math.floor(Math.random()*10));
?
Mentre è corretto scrivere un qualcosa del tipo:
System.out.println((int)Math.floor(Math.random()*10));
?
Ultima modifica effettuata da Archer312 04/07/12 0:44
aaa
04/07/12 13:06
Archer312
double x = -1.1;
System.out.println((int)(x)); //qui otterrai -1
System.out.println(Math.floor(x)); //qui -2
Dunque, se non ho capito male funziona così, qualora si abbia un numero negativo, il cast eliminerà qualsiasi numero dopo la virgola, a prescindere se sia negativo o positivo, mentre il metodo Math.floor() restituirà il numero minore sempre?
Cioè, se la variabile ha come valore -2.3, restituirà -3, e qui ci siamo, ma quindi questo metodo restituirà SEMPRE il numero minore?
Ultima modifica effettuata da Archer312 04/07/12 13:08
aaa
04/07/12 13:52
Premoli
Semplicemente con il cast converti una qualche variabile da un tipo ad un altro nel nostro caso da double ad int (ti consiglio di leggere qualcosa a riguardo, ci sono un sacco di informazioni su internet)...
floor come già ti ho detto è una funzione matematica che dato un numero reale restituisce il più grande intero minore o uguale al numero in ingresso.
Tutto qui...
aaa