• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kalkulator w aplikacji konsolowej

Object Storage Arubacloud
0 głosów
1,519 wizyt
pytanie zadane 2 maja 2015 w Java przez Valery Użytkownik (510 p.)

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.

1 odpowiedź

+1 głos
odpowiedź 2 maja 2015 przez Qhoros Mądrala (7,110 p.)
wybrane 2 maja 2015 przez Valery
 
Najlepsza

Spróbuj zamieni kolejność. 

if ("+".equals(wybor)) dodaj();
else if ("-".equals(wybor)) odejmij();
else if ("*".equals(wybor)) pomnoz();
else if ("/".equals(wybor)) podziel();
else System.out.println("Wybierz z (+,-,/,*): ");

komentarz 2 maja 2015 przez Valery Użytkownik (510 p.)
Mógłbyś jaśniej to napisać?
komentarz 2 maja 2015 przez Qhoros Mądrala (7,110 p.)
Podałeś kod wyżej, zamień jedną rzecz tak jak napisałem powyżej. Nie wiem jak to bardziej wytłumaczyć, bo rzecz tkwi tylko na zamienie kodu miejscem.
komentarz 2 maja 2015 przez Valery Użytkownik (510 p.)
Działa nie ogarnełem z początku dzięki :D
komentarz 2 maja 2015 przez Qhoros Mądrala (7,110 p.)
Cieszę się. ;) Miłego dnia i code on! ;))

Podobne pytania

0 głosów
2 odpowiedzi 351 wizyt
0 głosów
1 odpowiedź 234 wizyt
pytanie zadane 12 listopada 2022 w C# przez Beginner555 Obywatel (1,760 p.)
+1 głos
0 odpowiedzi 227 wizyt
pytanie zadane 24 marca 2021 w C i C++ przez Tymek Sandelewski56 Początkujący (330 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...