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

question-closed [Problem] Java Kalkulator

VPS Starter Arubacloud
0 głosów
781 wizyt
pytanie zadane 24 stycznia 2017 w Java przez Naria Nowicjusz (150 p.)
zamknięte 25 stycznia 2017 przez Naria

Cześć!

Zaczynając swoją przygodę z javą napotkałem się na problem którego nie jestem w stanie zrozumieć, mianowicie pierwszym moim "projektem" jest kalkulator (załączam kod). Działa w bardzo prosty sposób: User miał podać 2 liczby po czym podać operator i dostać odpowiedź. Problem pojawił się przy operacji dzielenia a dokładniej przy jej wywołaniu zamiast dzielić przez siebie liczby program je mnożył. Prosiłbym kogoś kto orientuje się w temacie o pomoc oraz wyjaśnienie gdzie popełniłem i dlaczego program tak reaguje :) Mam jeszcze jedno pytanie dotyczące opcji "Default:" przy case'ach, mianowicie odpala się ona zawszę bez znaczenia czy user podał "prawidłową opcje". W temacie jestem zielony więc proszę bez hejtów ;)

package kkkkk;
import java.util.Scanner;
public class aaa {

	public static void main(String[]args) throws Exception{
		Double odpowiedz = 0.0;
		Scanner odczyt = new Scanner(System.in);
		Scanner reader = new Scanner(System.in);
		for(;;){
			System.out.println("Liczba 1");
			Double lone = odczyt.nextDouble();
			System.out.println("Liczba 2");
			Double lduo = odczyt.nextDouble();
			System.out.println("Co chcesz zrobić? (operator)");
			char op = reader.next().charAt(0);
			switch(op){
			case'+':{
				odpowiedz = lone+lduo;
			}
			case'-':{
				odpowiedz = lone-lduo;
			}	
			case'/':{
				if(lduo == 0){
					System.out.println("Nie dzielimy przez zero!");
				}
				odpowiedz = lone/lduo;
			}	
			case'*':{
				odpowiedz = lone*lduo;
			}	
			default:{
				System.out.println("Nie ma takiej opcji");
			}
			}
			System.out.println(odpowiedz);
			System.out.println("-------------------------------");
		}
	}
}

 

komentarz zamknięcia: Rozwiązanie problemu

1 odpowiedź

+1 głos
odpowiedź 24 stycznia 2017 przez mbabane Szeryf (79,300 p.)
wybrane 24 stycznia 2017 przez Naria
 
Najlepsza

Masz zasadniczy blad w tym switchu.

Otoz kazdy case musi sie konczyc instrukcja break, dlatego Ci mnozylo mimo ze chciales dzielic.

Nie bede rozpisywal sie o dzialaniu swticha bo tutaj bedize to o wiele lepiej napisane: http://javastart.pl/static/podstawy-jezyka/instrukcje-sterujace/

komentarz 24 stycznia 2017 przez Naria Nowicjusz (150 p.)
O faktycznie dzięki!

Podobne pytania

0 głosów
1 odpowiedź 159 wizyt
pytanie zadane 11 lutego 2018 w Java przez plucins Stary wyjadacz (11,110 p.)
+1 głos
1 odpowiedź 113 wizyt
pytanie zadane 12 listopada 2021 w Java przez septuz Nowicjusz (130 p.)
0 głosów
1 odpowiedź 256 wizyt
pytanie zadane 14 marca 2016 w Java przez 0xf Dyskutant (8,180 p.)

92,762 zapytań

141,686 odpowiedzi

320,499 komentarzy

62,106 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

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!

...