Využij akce až 30% zdarma při nákupu e-learningu. Zároveň pouze tento týden sleva až 80 % na e-learning týkající se Javy
Hledáme fulltime koordinátora/ku kurzů. 100% homeoffice,100% časově flexibilní. Mám zájem!
discount week 30
Avatar
Ten Zdeněk :7.4.2015 19:18

Řešil jsem jednu takovou úlohu u které jsem potřeboval určit ciferný součet čísla, něco jsem napsal, ale nefungovalo to. Samozřejmě jsem si našel metodu, která to umí, ale jakožto začátečník si chci osvětlit proč ta moje metoda nefunguje nebo není správná. Můj pokus :

public static int cifernySoucet(int cislo)
    {
        int cifernySoucet = 0;


        for(int i = 0;Integer.toString(cislo).length() < i ; i++ )
        {

            cifernySoucet += Integer.parseInt(Character.toString(Integer.toString(cislo).charAt(i)));

        }
        return cifernySoucet;
    }
 
Odpovědět
7.4.2015 19:18
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Ten Zdeněk
Jan Vargovský:7.4.2015 19:33
string strCislo = Integer.toString(cislo);
for(...)
cifernySoucet += (strCislo.charAt(i) - '0');

Tohle v Javě nejde?

 
Nahoru Odpovědět
7.4.2015 19:33
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Ten Zdeněk
Jan Vargovský:7.4.2015 19:45

Jo jinak, chybu máš ve foru. Konkrétně v podmínce.

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět
7.4.2015 19:45
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na Jan Vargovský
Hartrik:8.4.2015 16:45

Jde...

BTW asi by bylo dobré fixnout záporné hodnoty.

public static int digitSum(int n) {
    return String.valueOf(Math.abs(n)).chars().map(c -> c - '0').sum();
}
 
Nahoru Odpovědět
8.4.2015 16:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.