Java :: Aufgabe #344

2 Lösungen Lösungen öffentlich

Und noch mehr Quersummen

Anfänger - Java von JKooP - 06.03.2021 um 18:04 Uhr
Von einer positiven Integer- Zahl soll solange die Quersumme gebildet werden
bis die Zahl einstellig geworden ist.
Die einstellige Zahl soll als Ergebnis ausgegeben werden.

Beispiel:
739 => 7 + 3 + 9 = 19
19 => 1 + 9 = 10
10 => 1 + 0 = 1

Viel Spaß

Lösungen:

vote_ok
von xXMestiXx (220 Punkte) - 02.04.2021 um 16:07 Uhr
Quellcode ausblenden Java-Code
package random;

import static pr.MakeItSimple.*;

public class quersummen {

	public static void main(String[] args) {

		println("Enter Value");
		int eingabe = readInt();
		boolean rechnen = false;
		int ausgabe = 0;

		String zwischenspeicher = String.valueOf(eingabe);
		int laenge = zwischenspeicher.length();
		int[] ergebnis = new int[laenge];
		int[] zwischenergebnis = new int[laenge];
		int y = laenge - 1;

		ergebnis[0] = eingabe % 10;
		zwischenergebnis[0] = eingabe % 10;

		print(" => ");

		for (int i = 1, x = 100, g = 10; i < laenge; i++) {

			int zwischensumme;

			zwischenergebnis[i] = eingabe % x;

			zwischensumme = eingabe % x;
			zwischensumme = (zwischensumme - zwischenergebnis[i - 1]) / g;
			ergebnis[i] = zwischensumme;

			x = x * 10;
			g = g * 10;

		}
		for (int i = laenge - 1; i > -1; i--) {

			if (i == laenge - 1)
				print(ergebnis[i]);

			else
				print(" + " + ergebnis[i]);

		}

		while (rechnen == false) {

			ausgabe = ausgabe + ergebnis[y];

			if (y == 0) {
				rechnen = true;
				print(" = " + ausgabe);
			}

			y--;
		}

	}

}
vote_ok
von n1again (560 Punkte) - 11.04.2021 um 09:07 Uhr
Quellcode ausblenden Java-Code
public class Quersummen {

	public static void main(String[] args) {
		int input = 739;
		
		while(input / 10 > 0) {
			System.out.print("Die Quersumme von '"+input+"' ist ");
			int quersumme = 0;
			while(input > 0) {
				int ziffer = input % 10;
				quersumme += ziffer;
				input /= 10;
			}
			input = quersumme;
			System.out.println(quersumme+".");
		}
	}
}