Diskuze: Ciferný součet v javě

Java Java Ciferný součet v javě

Avatar
Ten Zdeněk :

Ř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ý:
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ý
Redaktor
Avatar
Odpovídá na Ten Zdeněk
Jan Vargovský:

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:

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.