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()); ?
Поздрави!