Ciao a tutti,
sto cercando di creare un metodo che mi permetta di avere come valore di ritorno un
int con la seguente proprietà:
-qualsiasi sia un numero intero
n d'entrata, l'uscita dovrà essere costituita dalle cifre del numero
n dalla decina in poi.
Mi spiego meglio con degli esempi: 224->24, 1243252->52, 4->0,..
Ecco quanto avevo pensato:
public static int ritornoDecina(int n){
double x=n/100;
int y=(int)x;
int decina=(int)((x-y)*100);
return decina;
}
(La logica che sta dietro a tale algoritmo è la seguente:
-divido il numero per 10 in modo tale da ottenere dopo la virgola il valore che a me interessa (ex. 244->2,44)
-calcolo la parte intera di quanto ho appena calcolato (2,44->2), approssimando a integer un valore double attraverso l'arrotondamento mediante Cast
-calcolo la parte decimale sottraendo il valore double alla sua parte intera (2,44-2=0,44)
-moltiplico il tutto per 100 e lo registro in una variabile int(0,44*100=44,0->44) )
Tuttavia, provando ad invocare il metodo in un Tester, il risultato di
"decina" mi risulta sempre 0. Idee?