Java :: Aufgabe #229 :: Lösung #1

1 Lösung Lösung öffentlich
#229

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
#1
vote_ok
von HR_SS (330 Punkte) - 25.12.2019 um 10:53 Uhr
Quellcode ausblenden Java-Code
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);
	}
}

Kommentare:

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

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

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.