Moin leute, ich komme an der Aufgabe unten nicht mehr weiter.
Das ist die Aufgabe:
Erweitern Sie Ihren Taschenrechner!
Wenn der Nutzer den Operator "s" angibt, soll die Anzahl von einzugebenden Zahlen
eingelesen werden, und danach entsprechend viele Zahlen (in ein Array) eingelesen und summiert
werden. Die Summe wird dann auf der Konsole ausgegeben.
Hier ist meine bisherige Taschenrechner, was ohne ein Array funktioniert:
Das ist die Aufgabe:
Erweitern Sie Ihren Taschenrechner!
Wenn der Nutzer den Operator "s" angibt, soll die Anzahl von einzugebenden Zahlen
eingelesen werden, und danach entsprechend viele Zahlen (in ein Array) eingelesen und summiert
werden. Die Summe wird dann auf der Konsole ausgegeben.
Hier ist meine bisherige Taschenrechner, was ohne ein Array funktioniert:
Java:
public class Rechner{
private double zahl1;
private double zahl2;
private char operator;
private double erg;
public Rechner(){
zahl1 = 0;
zahl2 = 0;
operator = 'a';
erg = 0;
}
// Einlesen der Zahlen und des Operatoreratorzeichens
void einlesen(){
IO.println("Erste Zahl eingeben: ");
zahl1 = IO.readDouble();
IO.println("operatoreratorzeichen eingeben: ");
operator = IO.readChar();
IO.println("Zweite Zahl eingeben: ");
zahl2 = IO.readDouble();
}
// teilen durch "0"
boolean berechne(){
if(zahl2 == 0 && operator == '/'){
return false;
}
// abhängig vom Operatoreratorzeichen rechenen
else{
switch(operator){
case '+':
erg = zahl1 + zahl2;
break;
case '-':
erg = zahl1 - zahl2;
break;
case '*':
erg = zahl1 * zahl2;
break;
case '/':
erg = zahl1 / zahl2;
break;
default:
return false;
}
}
return true;
}
// Ergebnisvariable als String abspeichern und ausgeben
void ausgeben(){
String ausg = String.valueOf(erg);
IO.println(ausg);
}
// Main - Funktion
public static void main(String[] args){
// abfragevariable zur Wiederholungsüberprüfung
char abfr = 'y';
// neues Klassenobjekt
Rechner r = new Rechner();
do{
// aufruf der einlesen-funktion
r.einlesen();
// bei korrekter eingabe und erfolgreicher berechnung...
if (r.berechne()) {
// ...ausgeben-funktion aufrufen um das Ergebnis auf dem Bildschirm auszugeben
r.ausgeben();
}
// ansonsten...
else {
// "Syntaxfehler" ausgeben
IO.println("Syntaxfehler");
}
// wiederholungs-abfrage als Char speichern
IO.println("Wiederholen? y/n");
abfr = IO.readChar();
// hat der Benutzer ein 'y' oder 'Y' eingegeben, führe das Programm erneut aus
}while(abfr == 'y' || abfr == 'Y');
}
}
Zuletzt bearbeitet von einem Moderator: