Java :: Aufgabe #3 :: Lösung #6
22 Lösungen
#3
Quersumme berechnen und ausgeben
Anfänger - Java
von Gustl
- 12.08.2012 um 14:49 Uhr
Schreiben sie ein Konsolenprogramm, das eine
ihre Quersumme berechnet und das Ergebnis wie folgt ausgibt:
int-zahl > 0 und < 10000 einliest, ihre Quersumme berechnet und das Ergebnis wie folgt ausgibt:
Konsolenausgabe:
Zahl eingeben (0-10000): 3698
Quersumme: 3 + 6 + 9 + 8 = 26
#6
von Jurom (1070 Punkte)
- 19.10.2012 um 11:11 Uhr
//©2012 by Julius J. Hoffmann
//written with Eclipse
/** Unerwarteterweise hat das Casten der char Variablen bei mir nicht funktioniert,
* weswegen ich die char-Var. in einem String zwischengespeichert habe.
* Nur zur Vervollständigung hier noch einmal die Cast-Möglichkeit:
* int no = (int)nr.charAt(index);
* Wenn jemand eine Lösung weiß, kann er sich gerne bei mir melden :)
*/
import java.util.*; //Importiert Scanner zum Einlesen der Eingabe
public class Quersumme { // Java-Klasse mit main-Methode ("ausführende Klasse")
public static void main(String[] args) //main-Funktion
{
System.out.print("zahl eingeben (0-10000): "); //Gibt den String auf dem Bildschirm aus
Scanner s = new Scanner(System.in); //legt das Scanner-Objekt an
String nr = s.next(); //liest die manuelle Eingabe ein und speichert sie in dem String nr
int length = nr.length(); //Bestimmt die Anzahl der Zeichen und speichert sie in length
int qs = 0; //Initialisierung der Variablen qs
System.out.print("Quersumme: ");
/**
* Initiieren einer for-Schleife
* index - Die Stelle im String, welche addiert werden soll
* index < length - Beenden des Hochzählens, wenn index am Ende des Strings angekommen ist
* index++ - Weiterrücken des index um 1 Stelle nach jedem Schleifendurchlauf
*/
for (int index=0; index < length; index++) //s.o.
{
String a = String.valueOf(nr.charAt(index)); //Speichern der ausgewählten Zahl im Hilfsstring a || "Umformen" von char in String
int no = Integer.parseInt(a); //"Umformen" (parsen) des String in einen Int-Wert, Speichern in no
qs = qs+no; //Addieren der ausgewählten Stelle zum bisherigen Wert (Iteration)
if(index<length-1) System.out.print(no + "+"); //Ausgabe der Summanden mit +
else System.out.print(no); //Ausgabe des letzten Summanden
} //Beenden der for-Schleife
System.out.print(" = " + qs); //Ausgabe der Quersumme
} //Beenden der main-Methode
} //Schliessen der Klasse
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
