Hallo, ich bin noch ein Anfänger und versuche gerade erst durch den Stoff durchzusteigen, bitte keine Haue
Folgendes Problem: ich soll eine Quersumme von der Zahl 1543 (als Beispiel, beliebige vierstellige Zahl) bestimmen, und zwar gibt es einige Vorgaben:
- die Quersumme einer natürlichen Zahl soll berechnet werden
- wenn der Anwender eine negative ganze Zahl eingibt, wir diese mit (-1) multipliziert
if(zahl < 0) zahl * -1;
- für den ganzzahligen Rest soll der Modulooperator (%) eingesetzt werden, für die Berechnung ganzzahliger Quotienen der Divisionsoperator (/)
- die Summanden der Quersumme werden in einer Schleife berechnet. Nach Ende der Schleife wird die Quersumme ausgegeben
soviel dazu. so sieht im Moment mein Programm aus:
class A1B3
{public static void main(String args[])
{int q=1543;
int su=1;
int m=10;
System.out.println("Quersumme");
while (q>=1)
{ su=q%m;
{ System.out.println(q+"%"+m+"="+su);
q=q/m;
}
System.out.println("Ende der Berechnung");
}
}
}
ich hab die Summanden ausgegeben. Problem ist jetzt aber, wie ich die Summanden am Ende der Schleife addiere, um auf die Quersumme zu kommen. Wie mache ich das denn? Und das mit der Multiplikation von (-1) hab ich auch nocht nicht ganz begriffen...hoffe ihr könnt mir helfen.
Und jetzt zum Rest:
Wenn du einen Summand ausgeben kannst, kannst du ihn auch Speichern, bzw. ihn gleich auf die Quersumme addieren, das gibt die aufgabenstellung her:
int quersumme = 0;
innerhalb der schleife:
quersumme += summand;
Am ende:
System.Out.Println("Quersumme: " + quersumme);
Rest der Source passt, nur das beschriebene noch an den richtigen stellen einfügen
Ahja: *-1 tut nichts anderes als deine Negative in eine Positive Zahl zu verwandeln (ich denk das ist dir klar?), d.h. du gehst davon aus, dass du die Quersumme des Betrags bildest.