Aktywne Wpisy
![xionacz](https://wykop.pl/cdn/c3397992/xionacz_DEB7smWiZt,q60.jpg)
xionacz +1498
![xionacz - #polska #nostalgia](https://wykop.pl/cdn/c3201142/79de0f4869518d7de8743ecd83c1abde2715fa0feb3cbf03a9bd7b3f8100a9e3,w150.jpg?author=xionacz&auth=8b9ef84edff4709219fff424cd41c5cb)
źródło: temp_file7444470408266285415
Pobierz![Tywin_Lannister](https://wykop.pl/cdn/c3397992/Tywin_Lannister_MWNhrJUEvm,q60.jpg)
Tywin_Lannister +148
#slowacja
Widzę, że na Wykopie stabilnie. Ostateczny dowód na to, że politycy i media nieodwracalnie zlasowali wam mózgi.
Postrzelono człowieka - być może śmiertelnie - a wykopki dokazują, bo miał inne poglądy polityczne od nich xd
Jakby coś takiego spotkało Dudę albo jakiegoś innego polityka, którego nie lubicie, to pewnie by tu też były żarty, wiwaty i oklaski. Brak słów na was.
Widzę, że na Wykopie stabilnie. Ostateczny dowód na to, że politycy i media nieodwracalnie zlasowali wam mózgi.
Postrzelono człowieka - być może śmiertelnie - a wykopki dokazują, bo miał inne poglądy polityczne od nich xd
Jakby coś takiego spotkało Dudę albo jakiegoś innego polityka, którego nie lubicie, to pewnie by tu też były żarty, wiwaty i oklaski. Brak słów na was.
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ę.