Java :: Aufgabe #100
4 Lösungen

Quersummen Berechnung
Anfänger - Java
von mattthias
- 18.08.2015 um 09:49 Uhr
Teil1. Schreibe ein Konsolenprogramm, welches die Quersummen der Zahlen 0 bis 99 errechnet.
Zusatz: Schreibe ein Programm, welches eine Eingabe annimmt, und aus der eingegebenen Zahl die Quersumme errechnet
(Mindestens bis 100.000).
*Das Programm muss sauber formatiert sein
*Verwende Kommentare zum besseren Verständnis und / oder halte deinen Fortschritt damit fest
Hinweise und Anregungen:
- Teil 1 darf auf den Fall bezogen programmiert werden. Aber:Ist das notwendig?
- Vergiss das Semikolon nicht
- Wie kann ich die Konsole offen lassen, bis ich Enter drücke? Alternativ: Wie könnte ich die Konsole über einen bestimmten
Zeitraum das Ergebnis anzeigen lassen?
Zusatz: Schreibe ein Programm, welches eine Eingabe annimmt, und aus der eingegebenen Zahl die Quersumme errechnet
(Mindestens bis 100.000).
*Das Programm muss sauber formatiert sein
*Verwende Kommentare zum besseren Verständnis und / oder halte deinen Fortschritt damit fest
Hinweise und Anregungen:
- Teil 1 darf auf den Fall bezogen programmiert werden. Aber:Ist das notwendig?
- Vergiss das Semikolon nicht
- Wie kann ich die Konsole offen lassen, bis ich Enter drücke? Alternativ: Wie könnte ich die Konsole über einen bestimmten
Zeitraum das Ergebnis anzeigen lassen?
Lösungen:

package pQuersumme; import java.util.Scanner; public class Testclass { public static void main(String[] args) { int input=0; Scanner theScanner=new Scanner(System.in); System.out.println("Bitte Zahl eingeben:"); input=theScanner.nextInt(); System.out.println("Die Quersumme der Zahl: "+input+" lautet "+Testclass.caluclateDigitSum(input)); } //Calculate the digit sum of numbers smaller than 100 static int calculateDigigtSumSimple(int input){ int digit_sum=0; if (input<10) { digit_sum=input; }else { digit_sum=(input/10)+(input%10); } return digit_sum; } //Calculates the digits of a number for numbers smaller than 10^1000 static int calculateDigits(int input){ int digits=0; for (int i = 0; i < 1000; i++) { int compareToInput=(int) Math.pow(10, i); if (compareToInput>input) { digits=i; break; } } return digits; } //Calculate the digit sum of numbers greater than 99 static int caluclateDigitSum(int input){ int digit_sum=0; int digits=Testclass.calculateDigits(input); for (int i = digits-1; i >= 0; i--) { digit_sum=(int) (input/Math.pow(10, i))+digit_sum; input=(int) (input%Math.pow(10, i)); } return digit_sum; } }

import java.util.Scanner; public class CrossSum { private static Scanner scanner; static long input; static long sum; public static void main(String[] args) { System.out.println("Please insert the long you want to sum up: "); while (true) { scanner = new Scanner(System.in); input = scanner.nextLong(); while (input > 0) { sum = sum + input % 10; input = input / 10; } System.out.println("Cross sum = " + sum + "\n"); sum = 0; } } }

package digitsum; import java.util.Scanner; public class DigitSum { public static void main(String[] args) { Scanner scr = new Scanner(System.in); int z = 0; for(int i=0; i<=99; i++) { z += GetDigitSum(i); } System.out.println(z + " Ist die Quersumme aller Zahlen von 1 - 99. Wenn du die Quersumme einer eigenen Zahl haben willst, gib sie jetzt ein: "); System.out.println("Die Quersumme davon ist: " + GetDigitSum(scr.nextInt())); } static int GetDigitSum(int i) { int ret = 0; char[] c = Integer.toString(i).toCharArray(); for (char x: c) { ret += Character.getNumericValue(x); } return ret; } }

class quersumme { public static void checkSum() { for(int i = 0; i < 100; i++) { int summe = 0; String sEingabe = String.valueOf(i); for(int j = 0; j < sEingabe.length(); j++) { summe += Character.getNumericValue(sEingabe.charAt(j)); } System.out.println("Quersumme von " + i + ": " + summe); } } public static void main (String[] args) throws java.lang.Exception { checkSum(); } }