Hallo!
Ich hatte gestern schon einmal geschrieben wegen eines Taschenrechners.
Jetzt möchte ich gerne die Berechnung in eine andere Klasse stecken und dann diese Methode in der Taschenrechnerklasse aufrufen und benutzen. (Ich möchte nämlich in die Taschenrechnerklasse später die grafische Oberfläche reincoden)
Taschenrechner:
Methode:
Fehlercode:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method berechnung(double, String, double) is undefined for the type Taschenrechner
The method berechnung(double, String, double) is undefined for the type Taschenrechner
The method berechnung(double, String, double) is undefined for the type Taschenrechner
The method berechnung(double, String, double) is undefined for the type Taschenrechner
at Taschenrechner.main(Taschenrechner.java:71)
Ich will jetzt meinen Taschenrechner so komprimieren und verkleinern das ich am Ende wirklich einen kleinen Taschenrechner mit grafischer Oberfläche daraus machen kann.
Bitte keine fertigen Codes, ich brauch höchstens Schlüsselwörter weil ich es ja lernen möchte.
Gruß,
Isno
Ich hatte gestern schon einmal geschrieben wegen eines Taschenrechners.
Jetzt möchte ich gerne die Berechnung in eine andere Klasse stecken und dann diese Methode in der Taschenrechnerklasse aufrufen und benutzen. (Ich möchte nämlich in die Taschenrechnerklasse später die grafische Oberfläche reincoden)
Taschenrechner:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import main.Berechnung;
public class Taschenrechner {
public static void main(String[] args) throws IOException
{
boolean validUserInput = false;
double ergebnis = 0;
double zahl1 = 0;
double zahl2 = 0;
String neustart = null;
String weiterrechnen = null;
String rechenart = null;
String rechnung = " %10.3f%n%s %10.3f%n------------%n%s %10.3f %n";
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
do {
do {
while (!validUserInput) {
System.out.print("Bitte geben Sie Ihre erste Zahl ein: ");
try {
String str1 = input.readLine();
zahl1 = Double.parseDouble(str1);
validUserInput = true;
} catch (NumberFormatException e1) {
System.out.println("Bitte nur Zahlen eingeben.");
System.out.println("Versuchen Sie es bitte erneut.");
System.out.println(" ");
}
}
validUserInput = false;
while (!validUserInput) {
System.out.print("Bitte geben Sie Ihre zweite Zahl ein: ");
try {
String str2 = input.readLine();
zahl2 = Double.parseDouble(str2);
validUserInput = true;
} catch (NumberFormatException e1) {
System.out.println("Bitte nur Zahlen eingeben.");
System.out.println("Versuchen Sie es bitte erneut.");
System.out.println(" ");
}
}
validUserInput = false;
while (!validUserInput) {
System.out
.println("Geben Sie bitte an, mit welcher Rechenart Sie diese Zahlen berechnen moechten.");
System.out.println("a fuer Addition");
System.out.println("s fuer Subtraktion");
System.out.println("m fuer Multiplikation");
System.out.println("d fuer Division");
rechenart = input.readLine();
switch (rechenart) {
case "a":
System.out
.println("Sie haben sich für die Addition entschieden.");
ergebnis = berechnung(zahl1, "+", zahl2);
System.out.printf(rechnung, zahl1, "+", zahl2, "=",
ergebnis);
validUserInput = true;
break;
case "s":
System.out
.println("Sie haben sich für die Subtraktion entschieden.");
ergebnis = berechnung(zahl1, "-", zahl2);
System.out.printf(rechnung, zahl1, "-", zahl2, "=",
ergebnis);
validUserInput = true;
break;
case "m":
System.out
.println("Sie haben sich für die Multiplikation entschieden.");
ergebnis = berechnung(zahl1, "*", zahl2);
System.out.printf(rechnung, zahl1, "*", zahl2, "=",
ergebnis);
validUserInput = true;
break;
case "d":
System.out
.println("Sie haben sich für die Division entschieden.");
ergebnis = berechnung(zahl1, "/", zahl2);
System.out.printf(rechnung, zahl1, "/", zahl2, "=",
ergebnis);
validUserInput = true;
break;
default:
System.out
.println("Ihre Eingabe ist ungueltig. Dieses Programm ist case sensitive.");
continue;
}
}
System.out
.println("Wollen Sie das Programm erneut starten oder mit "
+ ergebnis + " weiterrechnen?");
System.out.println("n=Neustart / w=Weiterrechnen / b=Beenden");
neustart = input.readLine();
if ("b".equalsIgnoreCase(neustart)) {
System.out.println("Das Programm wird nun beendet.");
System.exit(0);
}
if ("n".equalsIgnoreCase(neustart))
{
zahl1 = 0;
zahl2 = 0;
ergebnis = 0;
validUserInput = false;
}
} while ("n".equalsIgnoreCase(neustart));
System.out
.println("Wollen Sie mit " + ergebnis + " weiterrechnen?");
System.out.println("j=Ja / n=Nein");
weiterrechnen = input.readLine();
if ("j".equalsIgnoreCase(weiterrechnen))
{
validUserInput = true;
zahl1 = ergebnis;
ergebnis = 0;
}
} while ("j".equalsIgnoreCase(weiterrechnen));
System.out.println("Das Programm wird nun beendet.");
}
}
Methode:
Java:
package main;
public class Berechnung {
public static double berechnung(double zahl1, String operator, double zahl2) {
return 0 ;
}
}
Fehlercode:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method berechnung(double, String, double) is undefined for the type Taschenrechner
The method berechnung(double, String, double) is undefined for the type Taschenrechner
The method berechnung(double, String, double) is undefined for the type Taschenrechner
The method berechnung(double, String, double) is undefined for the type Taschenrechner
at Taschenrechner.main(Taschenrechner.java:71)
Ich will jetzt meinen Taschenrechner so komprimieren und verkleinern das ich am Ende wirklich einen kleinen Taschenrechner mit grafischer Oberfläche daraus machen kann.
Bitte keine fertigen Codes, ich brauch höchstens Schlüsselwörter weil ich es ja lernen möchte.
Gruß,
Isno