JAVA Quersumme?

1 Antwort

Wenn man die Anweisung genau befolgt siehts so aus:

public class QuersummeBerechnung {
    public static int crossSum(int zahl) {
        int quersumme = 0;
        while (zahl > 0) {
            quersumme += zahl % 10;
            zahl /= 10;
        }
        return quersumme;
    }
    
    public static void main(String[] args) {
        // a
        int x = 80611;
        
        // d
        while (true) {
            // b
            int quersumme = crossSum(x);
            
            // c
            if (quersumme > 2) {
                x = quersumme / 2;
            }
            else {
                // e
                System.out.println("Endgueltige Quersumme: " + quersumme);
                break;
            }
        }
    }
}

Die Aufgabe kann man natürlich auf verschiedene Arten angehen. Hier hab ich mich dafür entschieden eine while-Schleife zu nutzen die die Schritte b und c wiederholt und am ende auch die endgültige Quersumme ausgibt.

Man kann die Aufgabe allerdings auch rekursiv lösen was meiner Meinung nach die elegantere Lösung ist:

public class QuersummeBerechnung {
    public static int berechnung(int zahl) {
        // b
        int quersumme = 0;
        while (zahl > 0) {
            quersumme += zahl % 10;
            zahl /= 10;
        }
        
        // c
        if (quersumme > 2){
            // d
            return berechnung(quersumme / 2);
        }
        return quersumme;
    }
    
    public static void main(String[] args) {
        // a
        int x = 80611;
        
        int ergebnis = berechnung(x);

        // e
        System.out.println("Endgueltige Quersumme: " + ergebnis);
    }
}

Interessanterweise hab ich hier erst erfahren, dass man so einfach die Quersumme ausrechnen kann. Tja, man lernt halt nie aus.

lg Suiram1

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#