Stránka 1 z 1

Java - ciferný součet

Napsal: 09 led 2013 20:53
od eda220
Dobrý den,
dělám úlohu, která v řetězci udělá ciferný součet. Skoro vše mám napsáno (názvu Boolean si nevšímejte, bude se řešit potom). Potřebuji jak udělat aby se mi vypsal hotový ciferný součet, mě to vypisuje po každém čísle (2 potm 4 a nakonec 6, já chci jen 6). Poraďte prosím, děkuji,


► Zobrazit spoiler

Re: Java - ciferný součet

Napsal: 09 led 2013 20:58
od domitea
Problém je ve foru, když máš na konci print tak se provede pokaždé. Zkus tam dát podmínku ve stylu:

Kód: Vybrat vše

if (i == --s.lenght())
{
      system.out.println(x);
}


a ten print na konci vymazat :wink:

Re: Java - ciferný součet

Napsal: 09 led 2013 21:08
od CZechBoY
stačí dát jen ten print za for ;)

pro přehlednost je lepší použít switch nebo rovnou parsovat int ze stringu

Re: Java - ciferný součet

Napsal: 09 led 2013 21:14
od faraon
A zase ASCII! Znak '0' má 48, znak '1' má 49, a tak dále až do devítky...
Když od každé číslice odečteš kód nuly (nebo přímo nulu jako znak), tak dostaneš její číselnou hodnotu :idea:
Ale ohlídej si předem jestli jde o číslici, ať ti nevycházejí nesmysly.

Re: Java - ciferný součet

Napsal: 09 led 2013 21:17
od CZechBoY
faraon: nevim co se ti nelíbí, však tam apostrofy má...

Re: Java - ciferný součet  Vyřešeno

Napsal: 09 led 2013 21:39
od eda220
To CZechBoY : Když přendám print před cyklus tak mi to vyhodí nulu.
To domitea : kam přesně bych měl tu podmínku ?
To faraon : jak přesně se pracuje s ASCII a javou, respektive, jak udělám to přiřazení.

Díky

Re: Java - ciferný součet

Napsal: 09 led 2013 21:45
od faraon
CZechBoY: Nelíbí se mi představa třiceti řádků kódu v místě, kde stačí

Kód: Vybrat vše

if (znak>='0' && znak <='9')
   soucet=soucet+znak-'0';

Re: Java - ciferný součet

Napsal: 09 led 2013 21:48
od CZechBoY
faraon: však porovnává char s charem, to by vadit nemělo, výjde to stejně
eda220: od kdy je sakra "pred" synonymum mého "za"?!!

Re: Java - ciferný součet

Napsal: 09 led 2013 21:54
od eda220
Promiň, špatně jsem to přečetl, už to funguje. Já potom totiž na to budu balit boolean, aby se napsalo true když menší než 6 a false když větší. Díky všem. Uzavírám.