Dobry wieczór !
W ramach ćwiczeń napisałem sobie konwerter litrów na galony/galonów na litry, oto kod:
//Program przelicza litry na galony i galony na litry
class KalkulatorGaleLitry {
public static void main(String args [])
throws java.io.IOException{
int i;
double gale, litry;
System.out.println("Wybierz jednostkę do przeliczenia");
System.out.println("1. Galony na litry");
System.out.println("2. Litry na gale");
System.out.print("Twój wybór to:"); i = System.in.read();
switch (i) {
case '1':
System.out.println("Podaj ilość galonów: ");
gale = System.in.read();
litry = gale * 3.7854;
System.out.println(gale + " galonów to " + litry + "litrów.");
break;
case '2':
System.out.println("Podaj ilość litrów: ");
litry = System.in.read();
gale = litry * 0.2641728747;
System.out.println(litry + "litrów benzyny to " + gale + "galonów.");
break;
default:
System.out.println("Brak takiej opcji. Spróbuj ponownie.");
}
}
}
ale niestety nie działa on zbyt dobrze, ponieważ w switchach nie działa
System.in.read()
a program sam przypisuje sobie obu zmiennym double wartość 13.0
Wiem, że czegoś nie wiem :D , dlatego tak się dzieje. Dlaczego w switchach nie działa System.in.read() i zmiennym przypisywana jest wartość 13.0 ?
Pozdrawiam!