Aktywne Wpisy
![Sleepypl](https://wykop.pl/cdn/c3397992/Sleepypl_j0DAsxwJmA,q60.jpg)
Sleepypl +540
![DJRuraWydechowa](https://wykop.pl/cdn/c0834752/9025ac0b2f5d3aad9112f9c2c31bcfa19a911b67c11d016ddb7177437d653b5d,q60.jpg)
DJRuraWydechowa +217
Kolejny z tych debili Need For Speed Kraków, albo Illegal Night, który nie używa mózgu.
Nocny wypadek na Zabłociu, ameba umysłowa niby żyje, bo strażacy wyciągnęli go i został przetransportowany do szpitala, ale w sumie samochód jest tak #!$%@?, że szczerze mam wątpiwości, czy przeżyje. W najlepszym wypadku będzie kaleką do końca życia, tyle że już nie umysłowym, a fizycznym.
#krakow
Nocny wypadek na Zabłociu, ameba umysłowa niby żyje, bo strażacy wyciągnęli go i został przetransportowany do szpitala, ale w sumie samochód jest tak #!$%@?, że szczerze mam wątpiwości, czy przeżyje. W najlepszym wypadku będzie kaleką do końca życia, tyle że już nie umysłowym, a fizycznym.
#krakow
![DJRuraWydechowa - Kolejny z tych debili Need For Speed Kraków, albo Illegal Night, kt...](https://wykop.pl/cdn/c3201142/0e82adb07e33af2f743adf886fdf6e510c5d130f3ccb993a36d09bc581b115e9,w150.jpg?author=DJRuraWydechowa&auth=f2bb7a5ffb649ff838ef97c22f7b5a4a)
źródło: debil
Pobierz
możecie sprawdzić kod czy jest ok?
to jest taka pierwsza wersja i będę ją rozwijał
#programowanie #java #robiekalkulator
Komentarz usunięty przez autora
Komentarz usunięty przez autora
Dodaj .idea do .gitignore.
Zrób jakiś podział na metody.
Long jest ok, ale do dzielenia się nie nadaje. 1/2 = 0.
Ja bym podbił sourceCompatibility w gradlu do 1.8.
Kolejnym usprawnieniem jakie bym zrobił w twoim kodzie to rozbiłbym maina na kilka funkcji o niezależnych zadaniach np:
- String wczytajLinie() // Scanner może być póki co jako stała statyczna wartość w klasie
- Operacja parsujLinie(String linia) // gdzie Operacja to nowa klasa zawierająca (n1, operator, n2)
- ignoruj białe znaki (spacje, tabulatory itd.) w inpucie np. 1+1, 1 + 1, 1+ 1; dają ten sam wynik
- co jeśli użytkownik wpisze niepoprawny input? np. "1+", narazie zakładasz że input ma co najmniej 3 znaki
- używaj doubli zamiast long
https://en.wikipedia.org/wiki/Shunting-yard_algorithm
https://en.wikipedia.org/wiki/Reverse_Polish_notation
pojawiła sie nowa wersja w repozytorium, za chwile zaczne myśleć nad tą odwrotną notacją i jak to zrobić
no i dzięki za wskazówki
throw new CalculatorException(new IllegalArgumentException("Illegal number of tokens"))
Usuń ten illegal argument. Nie złapałeś tego wyjątku. Nie jest więc on tu potrzebny.
Po prostu:
throw new CalculatorException("Illegal number of tokens")
A teraz.
Wyrzuć if else przy operatorach.
Użyj switcha.
A jeszcze lepiej:
Stwórz interfejs reprezentujący operację. Ma przyjąć dwa double i zwrócić wynik.
Stwórz implementacje.
Stwórz klasę, która zamienia string (operator) na operację.