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

question-closed [Problem] Java Kalkulator

Object Storage Arubacloud
0 głosów
754 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,280 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ź 155 wizyt
pytanie zadane 11 lutego 2018 w Java przez plucins Stary wyjadacz (11,110 p.)
+1 głos
1 odpowiedź 106 wizyt
pytanie zadane 12 listopada 2021 w Java przez septuz Nowicjusz (130 p.)
0 głosów
1 odpowiedź 246 wizyt
pytanie zadane 14 marca 2016 w Java przez 0xf Dyskutant (8,180 p.)

92,555 zapytań

141,403 odpowiedzi

319,556 komentarzy

61,940 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!

...