Java :: Aufgabe #11 :: Lösung #2
8 Lösungen

#11
Multiplikation ohne zu multiplizieren
Anfänger - Java
von Gustl
- 11.11.2012 um 17:24 Uhr
Erstellen Sie ein Konsolenprogramm welches dem Benutzer auffordert 2 Zahlen einzugeben, diese sollen dann multipliziert werden, jedoch ist nur die Grundrechenart Addition erlaubt.
Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.
Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.
#2

von Jurom (1070 Punkte)
- 16.11.2012 um 09:32 Uhr

//©2012 by Julius J. Hoffmann //written with Eclipse import java.util.Scanner; //importiert die Scanner-Klasse public class Multiplikation { //"ausführende Klasse" public static void multiplizieren() { //Methode zur Multiplikation try { //Anfang try-catch-Block System.out.println("Bitte geben Sie die 1. Zahl ein:"); //Konsolenausgabe Scanner s = new Scanner(System.in); //Anlegen des Scannerobjekts float a = s.nextFloat(); //Initialisieren der Var. a System.out.println("Bitte geben Sie die 2. Zahl ein:"); //Konsolenausgabe float b = s.nextFloat(); //Initialisieren der Var. a int h = hilfsMethode(b); //Aufruf hilfsMethode & Speichern in h float lsg = a; //a übergibt Wert an Hilfsvariable lsg b *= h; //b = b*h (erzeugt ein ganzzahliges b) for (; b>1; b--) { //for-Schleife die bx durchläuft lsg += a; //lsg = lsg + a (Iteration) } lsg /= h; //lsg wird durch h geteilt (ganze Zahl wird wd. zu kommazahl) System.out.println("Multipliziert: " + lsg); //Konsolenausgabe Lösung } catch (Exception e) { //Auffangen einer evtl. falschen Eingabe System.out.println("Falscher Eingabewert"); //Konsolenausgabe multiplizieren(); //Wiederaufruf der Methode } //Ende catch } //Ende Methode public static int hilfsMethode(float number) { //Hilfsmethode zur Ermittlung der Nachkommastellen String zahl = Float.toString(number); //verwandelt number in einen String zahl = zahl.substring(zahl.indexOf(".")+1); //entfernt die Vorkommastellen & Komma int h = 1; //Initialisieren der Hilfsvariable h mit 1 int i = zahl.length(); //setzt die Zählervariable i auf die Länge der Nachkommastellen von number while (i>0) { //solange i > 0 ist h *= 10; //h wird mit 10 multipliziert (es werden so viele 0 angehängt, wie nachkommastellen) i--; //i wird um 1 heruntergezählt } return h; //gibt h zurück } public static void main(String[] args) { //"ausführende Methode" multiplizieren(); //AUfruf multiplizieren } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1