Programming Basics with Java - Въпрос към задача
Здравейте колеги!
Имам въпросче към следната задача:
Да се намери лицето и периметърът на кръг при въвеждането на радиусът му.
Ето и двете ми решения:
import java.util.Scanner;
public class LicePerimeturKrug
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Въведете радиус = ");
float radius = scan.nextInt();
double lice = Math.PI * radius * radius;
double perimetur = 2*Math.PI * radius;
System.out.println("Лицето е равно на:" + lice);
System.out.println("Петиметърът е равен на: " + perimetur);
}
}
import java.util.Scanner;
public class LicePerimeturKrug
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Въведете радиус = ");
float radius = Float.parseFloat(scan.nextLine());
double lice = Math.PI * radius * radius;
double perimetur = 2*Math.PI * radius;
System.out.println("Лицето е равно на:" + lice);
System.out.println("Петиметърът е равен на: " + perimetur);
}
}
И при двете решения програмата си тръгва и се решава при въвеждане на цяло число, но при въвеждане на дробно число първият вариант дава грешка.
Въпросът ми е - каква е разликата между:
float radius = scan.nextInt(); и float radius = Float.parseFloat(scan.nextLine()); ?
Поздрави!