Stránky: 1
Zdravím, mám takovej asi trapnej problém, teprv s javou zažínám a nevím jak mám udělat aby mi příkaz printf vypsal tolik desetinných míst kolik zadá uživatel.
System.out.print("Zadej pocet desetinnych mist: ");
int x = scan.nextInt();
System.out.printf("%.xf", a);
chápu že takhle to fungovat nemůže, ale nikde sem nemoh najít jak to udělat aby místo např %2.3f bylo %2.xf
Doufám že ste můj problém pochopili a že mi někdo poradí... už sem zo toho zoufalej...
Offline

↑ himzu7:
Zdravím, v tvém kódu překladač nerozpozná x jako proměnnou, ale jako písmeno. Vzhledem k tomu, že na tom místě očekává číslo, tak vyhodí error. Zkus to zapsat takto
System.out.printf("%." + x + "f", a);
K řetězci %. připojí zprava hodnotu proměnné x a k tomu ještě zprava připojí řetězec f, celé je to stále String a nyní v požadovaném tvaru.
Offline
keď robíš v Jave tak prečo nevyužívaš to čo ponúka?
na toto je trieda bigDecimal vie pracovať s prakticky neobmedzeným počtom desatinných miest
a na vypisovanie používať println alebo print. či máš špeciálny dôvod používať printf? alebo je podmienka v zadaní,že a musí byť float a musí sa použiť printf?
Offline
↑ skoroakvarista: Díky moc funguje
Offline
Stránky: 1