Java Programm schreiben das Quersummen einer Zahl berechnet wie??
Dazu brauch ich ja die Ziffern einer Zahl die muss man dann miteinander addieren aber ich hab keine Ahnung wie man das anstellen soll ps:
bin java anfänger wir hatten bisher nur boolean, schleifen, for Schleife und if else Bedingungen gelernt also bitte nicht mehr unbekannten Code schreiben nur das was ich verstehe wenn’s geht !
Mit freundlichen Grüßen
5 Antworten
Die Zahl als String hat einen großen Vorteil: Man kann von fast beliebig grossen Zahen die Quersumme bilden.
Du musst halt die einzelnen Stellen ausrechnen.
Einserstelle = Zahl % 10
Zehnerstelle = Zahl / 10 und dann neue Zahl % 10
Hunderterstelle = Zahl / 100 >> 0 (Binärshift) löscht die Kommazahlen
Bsp. 145 / 100 = 1,45 <<0 = 1
Ob >> 0 oder << 0 ist hierbei egal so lang es Java unterstützt.
Unsaubere Variante: Zahl -> String, aufsplitten, einzelne Stellen -> Zahl konvertieren, aufsummieren.
Ordentliche Variante: überleg dir mal wie man zB die 12 in 1 und 2 aufteilt.
Ein Tipp: Führe einmal diese Ganzzahldivision durch.
12 % 10
Echt jetzt? Gestern wollte das ein anderer Fragant für C++ wissen.
Dann hier nochmal für Java – kann ich auch nicht, ist aber dasselbe 😜
int Quersumme(int Zahl) {
int q=0;
Zahl=abs(Zahl);
while(Zahl != 0) {
q+=Zahl%10;
Zahl/=10;
}
return q;
}
Ja, stimmt ja mit "while"!
Aber die implizite Typ-Umwandlung kenne ich eigentlich nur von Skriptsprachen und VB. Hier gibt es dann aber besondere Operatoren wie beispielsweise "\", die ein Integer-Ergebnis erzwingen.
Dann gibt's noch Formelmanipulatoren - die machen aus Ganzzahl / Ganzzahl eine rationale Zahl.
Ganz dasselbe ist es ganz streng genommen nicht - in C++ wäre auch
möglich.
(Und es gibt Programmiersprachen, die einen eigenen Operator für Ganzzahldivision haben - bei / wandeln sie Zähler und Nenner vorher in Fließkommazahlen um.)