Java :: Aufgabe #100 :: Lösung #1

4 Lösungen Lösungen öffentlich
#100

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?
#1
vote_ok
von joggel (180 Punkte) - 28.12.2015 um 14:50 Uhr
Quellcode ausblenden Java-Code
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;
	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben