Java :: Aufgabe #229
1 Lösung

Taschenrechner in einer Konsole
Fortgeschrittener - Java
von Gelöschte Person
- 30.03.2019 um 19:29 Uhr
Programmiere einen Taschenrechner der folgende Rechenarten kann:
Plus
Minus
Mal
Geteilt
Wurzel
Hoch
Prozent
Quersumme
Plus
Minus
Mal
Geteilt
Wurzel
Hoch
Prozent
Quersumme
Lösungen:

import java.util.Scanner; /** * Taschenrechner für die Konsole. * Funktionen: Addition, Subtraktion, Multiplikation, Division, Wurzel, * Potenzberechnung, Prozentwert aus Grundwert und Prozentsatz (%), Quersumme * * @author HR_SS * */ public class TaschenrechnerKonsole { public static void main(String[] args) { double val_1 = 0, val_2 = 0; int val_1_quersumme = 0; System.out.println("Wählen Sie eine Rechenoperation aus: "); System.out.println("1 Addition, 2 Subtraktion, 3 Multiplikation, 4 Division" + "\n5 Wurzel, 6 Potenz, 7 Prozent, 8 Quersumme"); Scanner input_val_1 = new Scanner(System.in); int auswahl = input_val_1.nextInt(); if((auswahl >= 1) && (auswahl <= 4)) { System.out.println("Geben Sie eine Zahl ein..."); val_1 = input_val_1.nextDouble(); System.out.println("Geben Sie eine weitere Zahl ein..."); val_2 = input_val_1.nextDouble(); }else if(auswahl == 5) { System.out.println("Geben Sie den Wert in/unter der Wurzel ein..."); val_1 = input_val_1.nextDouble(); System.out.println("Geben Sie den Grad der Wurzel ein..."); val_2 = input_val_1.nextDouble(); }else if(auswahl == 6) { System.out.println("Geben Sie eine Basis ein..."); val_1 = input_val_1.nextDouble(); System.out.println("Geben Sie einen Exponenten ein..."); val_2 = input_val_1.nextDouble(); }else if(auswahl == 7) { System.out.println("Geben Sie einen Grundwert ein..."); val_1 = input_val_1.nextDouble(); System.out.println("Geben Sie einen Prozentsatz ein..."); val_2 = input_val_1.nextDouble(); }else if(auswahl == 8) { System.out.println("Geben Sie eine ganze Zahl ein..."); val_1_quersumme = input_val_1.nextInt(); }else { System.out.println("Ungültige Eingabe..."); } input_val_1.close(); switch(auswahl) { case 1: System.out.println(val_1 + " + " + val_2 + " = " + addition(val_1, val_2)); break; case 2: System.out.println(val_1 + " - " + val_2 + " = " + subtraktion(val_1, val_2)); break; case 3: System.out.println(val_1 + " * " + val_2 + " = " + multiplikation(val_1, val_2)); break; case 4: if(val_2 != 0) { System.out.println(val_1 + " / " + val_2 + " = " + division(val_1, val_2)); }else { System.out.println("Division durch 0 nicht erlaubt!"); } break; case 5: if((val_1 > 0) && (val_2 > 0)) { System.out.println(val_2 + "-te Wurzel aus " + val_1 + " = " + wurzel(val_1, val_2)); }else { System.out.println("Negativerwert oder Negativer Grad nicht erlaubt!"); } break; case 6: System.out.println(val_1 + "^{" + val_2 + "} = " + potenz(val_1, val_2)); break; case 7: System.out.println(val_1 + " Prozent von " + val_2 + " sind: " + prozent(val_1, val_2)); break; case 8: System.out.println("Quersumme von " + val_1_quersumme + " ist " + quersumme(val_1_quersumme)); break; } System.out.println("-----------"); } private static int quersumme(int val_1) { int summe = 0; while(val_1 != 0) { summe += val_1 % 10; val_1 /= 10; } return summe; } private static double prozent(double _grundwert, double _prozentwert) { return ((_grundwert*_prozentwert)/100); } private static double potenz(double _basis, double _exponent) { return Math.pow(_basis, _exponent); } private static double wurzel(double _wert, double _exponent) { return Math.pow(_wert, 1/_exponent); } private static double division(double _zaehler, double _nenner) { return (_zaehler / _nenner); } private static double multiplikation(double _faktor_1, double _faktor_2) { return (_faktor_1 * _faktor_2); } private static double subtraktion(double _minuend, double _subtrahend) { return (_minuend - _subtrahend); } private static double addition(double _summand_1, double _summand_2) { return (_summand_1 + _summand_2); } }