Dobrý den, mám za ukol program obsahujcí metodu, která přečte reálné číslo a do celočíselné proměnné uloží desetinnou část. Vstupními parametry metody má být reálné číslo (typ double nebo float) a počet desetinných míst ukládané číselné hodnoty. Výstupem má být celé číslo obsahující pouze desetinnou část reálného čísla. např. cislo=81,236 n=2 pak výsledek ma být 23
Začínám být zoufalá, děkuji za případné rady :)
Zde je můj pokus, zřejmě nedochází k provádění cyklu a pomocná proměná zustáva 0
public class Du {
public static void main(String[] args) {
Scanner cti = new Scanner(System.in);
System.out.print("zadejte cislo: ");
double cislo = cti.nextDouble();
int vysledek = desCast(cislo,2); // obecně samozřejmě desCast(cislo,proměna)
System.out.println("vysledek: "+vysledek);
}
public static int desCast(double a,int n){
String retezec = new String();
retezec = String.valueOf(a);
int pomocna = 0;
for(int i=0; i == (retezec.length()-1); i++){
char z=retezec.charAt(i);
if (z == '.') pomocna=i;
}
String podretezec = retezec.substring(pomocna,pomocna+2);
// ? obecně substring(pomocna,pomocna+n) ?
int b = Integer.valueOf(podretezec);
return b;
}
}