hey,
ich möchte die Alternierende Quersumme einer Zahl (zuvor als String übergeben; MUSS!) berechnen. Bspw. für
"87654321": 1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 = -4
Mein bisheriger Versuch funktioniert so weit, allerdings mit falschen Vorzeichen, da er von der 8 aus anfängt. Kann ich auf eine einfache Weise Java anweisen den String anders einzulesen?
ich möchte die Alternierende Quersumme einer Zahl (zuvor als String übergeben; MUSS!) berechnen. Bspw. für
"87654321": 1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 = -4
Mein bisheriger Versuch funktioniert so weit, allerdings mit falschen Vorzeichen, da er von der 8 aus anfängt. Kann ich auf eine einfache Weise Java anweisen den String anders einzulesen?
Java:
public class Prog {
public static void main(String[] args) {
int zahl1, zahl2, zahl3;
int altquersumme1 = 0, altquersumme2 = 0, altquersumme3 = 0;
int i = 1;
System.out.println("Bitte geben Sie eine natuerliche Zahl ein:");
Scanner scan = new Scanner(System.in);
zahl1 = Integer.parseInt(scan.next());
scan.close();
zahl2 = zahl1;
zahl3 = zahl1;
while (zahl1 > 0) {
if (i%2 == 0) {
altquersumme1 += zahl1%10;
altquersumme2 += zahl2%100;
altquersumme3 += zahl3%1000;
i++;
} else {
altquersumme1 -= zahl1%10;
altquersumme2 -= zahl2%100;
altquersumme3 -= zahl3%1000;
i++;
}
zahl1=zahl1/10;
zahl2=zahl2/100;
zahl3=zahl3/1000;
}
System.out.println("Alternierende Quersumme erster Stufe: \t" + altquersumme1);
System.out.println("Alternierende Quersumme zweiter Stufe:\t" + altquersumme2);
System.out.println("Alternierende Quersumme dritter Stufe:\t" + altquersumme3);
}
}