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("-------------------------------");
}
}
}