Java :: Aufgabe #229

1 Lösung Lösung öffentlich

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

Lösungen:

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

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.