Darf man den Übergabeparameter in einer Methode nicht verwenden?

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.




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)));

    }

}
 
Dir ist aber schon bewußt, dass du in der ersten Schleife dein "n" bis 0 runter dividierst und es deshalb in der Zweite Schleife natürlich nicht mehr den Ausgangswert hat oder?

Gruß

Claus
 

Zurück
Oben