JAVA Quersumme?
Hallo,
ich möchte in meinem Quelltext für JAVA in der main-Methode diese Angaben machen:
a. Definiere eine Variable x und weise ihr den Wert 80611 zu
b. Berechne die Quersumme von x.
c. Falls die Quersumme größer als 2 ist, teile sie durch 2 und setze das Ergebnis als neues x.
d. Wiederhole b und c, bis die Quersumme nicht größer als 2 ist.
e. Gib die endgültige Quersumme aus
Ich bin in meinem Quelltext so weit gekommen:
Kann mir jemand zeigen, wie ich diese Angaben im Quelltext machen kann und wie es am Ende aussehen soll.
Ich danke Sie im Vorraus.
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