Poniżej podałem kod programu mającego za zadanie obliczyć pole i obwód koła używając parametrów (długości i jednostki) wprowadzanych z klawiatury. Problem pojawił się w momencie gdy chcę aby użytkownik wprowadził jednostkę długości promienia. Program działa tak jakby ignorował linijkę:
String jednostkaPromienia = in.nextLine();
Proszę o ewentualne podpowiedzi dotyczące zmiany kodu źródłowego, poprawek czy udogodnień.
import java.util.Scanner;
class koło
{
private double promień;
public koło(double r,String j)
{
promień=r;
if(j.equals("km"))
{
promień=promień*1000;
}
else if(j.equals("cm"))
{
promień=promień/100;
}
else if(j.equals("mm"))
{
promień=promień/1000;
}
}
public double obliczObwódKoła()
{
return 2*Math.PI*promień;
}
public double obliczPoleKoła()
{
return Math.PI*promień*promień;
}
public double getPromień()
{
return promień;
}
}
public class KlasaKoło
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Podaj długość promienia koła");
double promieńKoła= in.nextDouble();
System.out.println("Podaj jednoskę długości promienia koła");
String jednostkaPromienia = in.nextLine();
koło koło = new koło(promieńKoła, jednostkaPromienia);
System.out.println("Długość promienia to "+koło.getPromień()+" m");
System.out.println("Pole wyosi "+koło.obliczPoleKoła());
System.out.println("Obwód wyosi "+koło.obliczObwódKoła());
}
}