NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Ciferný součet v javě

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
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ý
Tvůrce
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
Avatar
Jan Vargovský
Tvůrce
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
Tvůrce
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.