Stránka 1 z 1

Metody v Javě

Napsal: 21 říj 2014 19:36
od leni9
Ahoj,
potřebovala bych trochu napovědět s tímto příkladem.

Načtěte z klávesnice nejprve přirozené číslo s nejvíce třemi platnými číslicemi (max. 999) a pak počet číslic. Vytvořte metodu int castCisla(int puvodniCislo, int pocetCislicZprava), která z načteného čísla ponechá jen zadaný počet číslic (zprava) a toto číslo vrátí jako svoji návratovou hodnotu. Získané číslo vytiskněte. V metodě ošetřete případ, kdy puvodniCislo nemá požadovaný počet cifer.

Výstup: http://www.kiv.zcu.cz/~netrvalo/vyuka/p ... A06999.txt

Napadá mě jen strašně dlouhý řešení, kdy bych se zeptala, jestli je to v rozmezí třeba 110 - 120 a pokud bych zadala, že chci jen 1 číslici, tak bych od toho odečetla 110, kdyby 2, tak bych odečetla jen 100 atd. :lol: Jenže to bych se upsala a jiný řešení mi zatím nenapadá :?

Nenapadá vás něco? :-) Předem děkuji za snahu :-)

Re: Metody v Javě

Napsal: 21 říj 2014 19:54
od Oxxid
Já bych s tím uvnitř funkce pracoval jako se stringem...

Re: Metody v Javě  Vyřešeno

Napsal: 21 říj 2014 20:08
od faraon
x = číslo
n = počet číslic
y = x modulo 10n

A pochopitelně je potřeba ohlídat jestli je zadané n v rozmezí 1..3, jinak to bude dělat psí kusy ;-)

Re: Metody v Javě

Napsal: 21 říj 2014 20:42
od domitea
Zamotám hlavu dalším možným řešením a to přes pole charů :lol:

Re: Metody v Javě

Napsal: 21 říj 2014 20:46
od Oxxid
faraon píše:x = číslo
n = počet číslic
y = x modulo 10n

A pochopitelně je potřeba ohlídat jestli je zadané n v rozmezí 1..3, jinak to bude dělat psí kusy ;-)

Jaktože tě vždy napadne tak elegantní řešení? Já to měl na 14 řádků :lol: