Witam.
Zamierzam napisać prosty kalkulator w javie który będzia działał tak. W interfejsie zadeklarowane są metody dodaj(),odejmij(),pomnoz(),podziel(). Klasa głowna implementuje interfejs a w jej konstruktorze ustawiamy 2 liczby na których bedzie wykonywane dzialanie. Metoda Działanie pobiera od użytkowanika znak +,-,*,/ i zależnie od tego wywołuje jedną z powyżej wymienionych metod która zwraca stringa w formacie np. 5-3=2. Tworze nowy obiekt (static Kalkulator k1 = new Kalkulator(3,5);) i wywołuje metodę Działanie(). Podaje wymagany znak i cały czas tkwie w pętli do while, mimo że warunki wydaja mi się być dobre.
Ktoś mógłby się wypowiedzieć:
package aplikacja2;
import java.util.Scanner;
public class Kalkulator implements IOperacje {
double liczba1,liczba2;
Kalkulator(double liczba1,double liczba2){
this.liczba1=liczba1;
this.liczba2=liczba2;
};
@Override
public void dodaj() {
double wynik1=liczba1+liczba2;
System.out.println(liczba1+"+"+liczba2+"="+wynik1);
}
@Override
public void odejmij() {
double wynik2=liczba1-liczba2;
System.out.println(liczba1+"-"+liczba2+"="+wynik2);
}
@Override
public void podziel() {
double wynik3=liczba1*liczba2;
System.out.println(liczba1+"*"+liczba2+"="+wynik3);
}
@Override
public void pomnoz() {
double wynik4=liczba1/liczba2;
System.out.println(liczba1+"/"+liczba2+"="+wynik4);
}
void Dzialanie(){
System.out.println("Wybierz jaką operacje chcesz wykonać (+,-,/,*):");
String wybor;
Scanner wybierz = new Scanner(System.in);
do{
wybor = wybierz.nextLine();
if(!"+".equals(wybor) || !"-".equals(wybor) || !"*".equals(wybor) || !"/".equals(wybor) ){
System.out.println("Wybierz(+,-,/,*):");
}
} while ( "+".equals(wybor) || "-".equals(wybor) || "*".equals(wybor) || "/".equals(wybor) );
if ("+".equals(wybor)) dodaj();
else if ("-".equals(wybor)) odejmij();
else if ("*".equals(wybor)) pomnoz();
else if ("/".equals(wybor)) podziel();
}
}
Z góry dzięki za pomoc.