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);
}
}