Java :: Aufgabe #3 :: Lösung #10

22 Lösungen Lösungen öffentlich
#3

Quersumme berechnen und ausgeben

Anfänger - Java von Gustl - 12.08.2012 um 14:49 Uhr
Schreiben sie ein Konsolenprogramm, das eine 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
#10
vote_ok
von HaraldK (260 Punkte) - 21.02.2016 um 21:15 Uhr
Quellcode ausblenden Java-Code
/* @Author H.K.
 * @Date 21.02.2016
 * 
 * Programmbeschreibung:
 * Eingabe einer Zahl zwischen 1 und 10000 und Ausgabe der Querzahl der Eingabe
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class mainprogramv2 {

	public static void main ( String args[] ) throws IOException
	{
		int number = 0;
		String numberasstring = "";
		number = inputnumber(number);
		numberasstring = Integer.toString(number);
		String querzahl = calcquerzahl(numberasstring);
	}
		
	    public static int inputnumber(int number) throws IOException
	    {
	    	while (number == 0)
			{
			System.out.print ( "Bitte eine Zahl zwischen 1 und 10000 eingeben: " );
		    BufferedReader input = new BufferedReader ( new InputStreamReader ( System.in ) );
		    String inputString = input.readLine();
		    if (inputString.matches("-?\\d+?")) {
		    number = Integer.parseInt(inputString);
			}
		    else {
		    	System.out.println("Eingabe ist keine Zahl!");
		    }
		    if (number <= 0 || number >=10001) {
		    	System.out.println("Die eingegebene Zahl " +number +" liegt nicht zwischen 1 und 10000!");
		    	number = 0;
		    }
	    }
			return number;
		}
	    
	    public static String calcquerzahl(String numberasstring)
	    {
	    	int length = numberasstring.length() -1;
	    	String ausgabe = "";
	    	int result = 0;
	    	String[] zahl = new String[length+1];
	    	for (int i = 0; i <= length; i++)
	    	{
	    		zahl[i] = numberasstring.substring(i, i+1);
	    	}
	    	
	        for (int i = 0; i < numberasstring.length(); i++) {
	            if (i == 0) {
	                ausgabe = "Quersumme: " + numberasstring.charAt(i) + " ";
	            } else {
	                ausgabe = ausgabe + "+ " + numberasstring.charAt(i) + " ";
	 
	            }
	            String str = String.valueOf(numberasstring.charAt(i));
	 
	            result = result + Integer.parseInt(str);
	        }
	        ausgabe = ausgabe + "= " + result;
	        System.out.println(ausgabe);
	        numberasstring = String.valueOf(ausgabe);
	    	
	    	return numberasstring;
	    }
}


Ausgabe:

Konsolenausgabe:


Bitte eine Zahl zwischen 1 und 10000 eingeben: 4567
Quersumme: 4 + 5 + 6 + 7 = 22


Ausgabe bei falscher Eingabe:

Konsolenausgabe:


Bitte eine Zahl zwischen 1 und 10000 eingeben: 20000
Die eingegebene Zahl 20000 liegt nicht zwischen 1 und 10000!
Bitte eine Zahl zwischen 1 und 10000 eingeben:

Kommentare:

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

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