Liebe/-r Experte/-in,
ich bin ein absoluter Java Anfänger und muss mich an dieser Aufgabe versuchen. Ich bin noch nicht sehr weit gekommen (siehe unten) und würde mich über jede Hilfe freuen, aber bitte kein Fachchinesisch, wie gesagt absoluter Anfänger .
Schreiben Sie ein Java-Programm, das einen einfachen Taschenrechner simuliert. Der Taschenrechner soll folgendes beherrschen:
- Die 4 Grundrechenarten +,-,*,/
- Die Standartfunktionen Sinus, Cosinus, Tangens, die Exponentialfunktion und den natürlichen Logarithmus
- Abspeicherung eines Zwischenergebnisses
Dabei soll zunächst ein Operand vom Typ double eingelesen werden. Danach soll die auszuführende Operation als Zeichen vom Typ char solange eingelesen werden, bis das Zeichen q für quit gelesen wurde. Verwenden Sie hierfür eine while-Schleife. Innerhalb der SChleife sollen dann verschiedene Fälle unterschieden und entsprechend vorgegangen werden. Verwenden Sie für die Fallunterscheidungen switch-Anweisungen. Dabei soll vor jedem erneuten abarbeiten der switch Anweisungen das Zwischenergebnis, das dem aktuellen Operanden zugewiesen wurde, mit erläuterndem Text ausgegeben werden.
a)Es wurde eines der Symbole der Grundrechenarten +,-,*,/ eingegeben. Es ist dann ein weiterer Operand vom Typ double einzulesen und die jeweilige Rechnung durchzuführen. Speichern Sie das Ergebnis im ersten Operand ab. Verwenden Sie für die Berechnung die Zuweisungsoperatoren +=,-=,*=,/=.
b)Es wurde einer der Buchstaben E,e,L,l,C,c,S,s,T,t,W,w eingelesen. Dabei bezeichnen die einzelnen Buchstaben jeweils den Anfangsbuchstaben der entsprechenden Standartfunktion. Wenden Sie die mathematischen Standartfunktionen Math.exp,Math.log,Math.cos,Math.sin,Math.tan, Math.sqrt(square root) auf den aktuellen Operanden an und weisen Sie diesem das Ergebnis der Rechnung zu.
c)Es wurden die Buchstaben M oder m eingelesen. Speichern Sie den aktuellen Operanden in einem internen Speicher (eine weitere Variable vom Typ double namens mem) ab.
d)Es wurden die Buchstaben R oder r eingelesen. Weisen Sie dem aktuellen Operanden den Wert von mem zu.
e)Es wurden die Buchstaben R oder r eingelesen. Weisen Sie dem aktuellen Operanden den Wert Null zu. Weisen Sie die Benutzer ihres Taschenrechners darauf hin, dass ihr aktuelles Zwischenergebnis Null ist.
f) Es wurden die Buchstaben Q oder q eingelesen. Geben Sie eine Abschiedsnachricht aus.
Soweit bin ich gekommen:
public class Taschenrechner{
public static void main (String[] args)
{
Locale.setDefault(Locale.US);
Scanner sc = new Scanner(System.in);
double o1, o2, e;
System.out.print("Bitte geben Sie den ersten Operand ein: ");
o1 = sc.nextDouble(); //ersten Operand einlesen
String str;
char zeichen;
str = sc.next();
zeichen = str.charAt(0);
System.out.print("Bitte geben Sie den zweiten Operand ein: ");
o2 = sc.nextDouble(); //zweiten Operand einlesen
while (zeichen!=‚q‘)
{
switch(zeichen)
{
case ‚+‘:
break;
case ‚-‘:
break;
case ‚*‘:
break;
case ‚/‘:
break;
case ‚E‘: case ‚e‘:
break;
case ‚L‘: case ‚l‘:
break;
case ‚C‘: case ‚c‘:
break;
case ‚S‘: case ‚s‘:
break;
case ‚T‘: case ‚t‘:
break;
case ‚W‘: case ‚w‘:
break;
default:
}
}
}
}