Moin,
ich probiere mich gerade am Aufruf von Methoden. Dies am Beispiel eines Taschenrechners.
Ich habe für jeden Schritt eine eigene Objektmethode geschrieben und möchte diese dann in der main-methode ausführen lassen.
Ich möchte, dass die Methode "ausrechnen" mir nach Eingabe der Parameter, das entsprechende Ergebnis ausgibt. Hier liegt mein Hauptproblem. Wie kann ich die Ergebnisse der ersten drei Methoden (ersteeingabe, zweiteeingabe, operation) ansteuern, ohne die Methoden selbst noch einmal aufzurufen?
Mein zweites Problem ist, ich muss im switch als Selektor die Methode "operation" auswählen, möchte aber eigentlich, dass das Ergebnis der methode "operation" (also der return-Wert) im switch als Selektor angeben.
Ziel diese Übung ist es, alle Methoden in der main einzeln anzusteuern. Dann muss ich die Eingaben aber mehrmals machen. Führe ich in der main-Methode nur die Objektmethode "ausrechnen" aus, klappt es zwar, aber nur bedingt. Da logischerweise die Methoden dann sequentiell ausgeführt werden. Also,
1. operation
2. ersteeingabe
3. zweiteeingabe
Ziel ist aber,
1. ersteeingabe
2. zweiteeingabe
3. operation
ich probiere mich gerade am Aufruf von Methoden. Dies am Beispiel eines Taschenrechners.
Ich habe für jeden Schritt eine eigene Objektmethode geschrieben und möchte diese dann in der main-methode ausführen lassen.
Ich möchte, dass die Methode "ausrechnen" mir nach Eingabe der Parameter, das entsprechende Ergebnis ausgibt. Hier liegt mein Hauptproblem. Wie kann ich die Ergebnisse der ersten drei Methoden (ersteeingabe, zweiteeingabe, operation) ansteuern, ohne die Methoden selbst noch einmal aufzurufen?
Mein zweites Problem ist, ich muss im switch als Selektor die Methode "operation" auswählen, möchte aber eigentlich, dass das Ergebnis der methode "operation" (also der return-Wert) im switch als Selektor angeben.
Ziel diese Übung ist es, alle Methoden in der main einzeln anzusteuern. Dann muss ich die Eingaben aber mehrmals machen. Führe ich in der main-Methode nur die Objektmethode "ausrechnen" aus, klappt es zwar, aber nur bedingt. Da logischerweise die Methoden dann sequentiell ausgeführt werden. Also,
1. operation
2. ersteeingabe
3. zweiteeingabe
Ziel ist aber,
1. ersteeingabe
2. zweiteeingabe
3. operation
Java:
import java.util.Scanner;
public class Taschenrechner {
///eingabe1
public static int ersteeingabe() {
int a;
System.out.print("Eingabe der ersten Zahl:");
Scanner ersteeingabe1 = new Scanner(System.in);
a = ersteeingabe1.nextInt();
return a;
}
//eingabe2
public static int zweiteeingabe() {
int b;
System.out.print("Eingabe der zweiten Zahl:");
Scanner zweiteeingabe1 = new Scanner(System.in);
b = zweiteeingabe1.nextInt();
return b;
}
// eingabe operand
public static String operation() {
String op;
System.out.print("Eingabe des Operanten:");
Scanner dritteeingabe1 = new Scanner(System.in);
op = dritteeingabe1.next();
return op;
}
//methode ausrechnen
public static void ausrechnen() {
int ergebnis;
switch (operation()) {
case "+":
ergebnis = ersteeingabe() + zweiteeingabe();
System.out.println(ergebnis);
break;
case "-":
ergebnis = ersteeingabe() - zweiteeingabe();
System.out.println(ergebnis);
break;
}
}
public static void main(String[] args) {
ersteeingabe();
zweiteeingabe();
operation();
ausrechnen();
}
}