Hallo, ich habe gerade die Quersumme einer Zahl programmiert.
Lange Zeit wusste ich nicht warum immer 0 ausgegeben wird.
Ich habe nämlich die Variable "n", welche hier von main übergeben wird in der Methode mehrfach für Berechnungen verwendet.
Als ich dann "n" auf eine andere, neue VAriable gesetzt hatte, funktionierte es plötzlich.
Ich hoffe, jemand kann mir erklären, warum es vorher nicht ging.
Lange Zeit wusste ich nicht warum immer 0 ausgegeben wird.
Ich habe nämlich die Variable "n", welche hier von main übergeben wird in der Methode mehrfach für Berechnungen verwendet.
Als ich dann "n" auf eine andere, neue VAriable gesetzt hatte, funktionierte es plötzlich.
Ich hoffe, jemand kann mir erklären, warum es vorher nicht ging.
Java:
public static int quersumme (int n)
{
int erg=0;
int länge = 0;
int eingabe=n; // !!! WICHTIG: man muss den Übergabeparameter in einer anderen Variable speichern, sonst geht es nicht.
while (n > 0)
{
n = n / 10;
länge=länge +1;
}
//System.out.println(länge);
int [] array = new int[länge];
for(int i=0;i<länge;i++)
{
array[i] = eingabe % 10; //Würde man hier n nehmen käme 0 raus - es geht so nicht. -> (n % 10)
eingabe = eingabe / 10;
//System.out.println(array[i]);
erg = erg + array[i];
}
return erg;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int eingabe = Eingabe.readInt("Bitte Zahl eingeben:");
System.out.println((quersumme(eingabe)));
}
}