我正在尝试在程序验证用户输入的同时执行从华氏度到摄氏温度的计算。
我的验证部分工作正常,但是无论我输入什么内容,程序始终显示0.0 C。
public static void main(String args[]) {
float celsius, fahrenheit;
try(Scanner scanner = new Scanner(System.in)) {
float input = 0;
float min = -60;
float max = 212;
boolean inputValidate = false;
System.out.println("Enter temperature in Fahrenheit :");
do {
System.out.print(">> ");
try {
input = scanner.nextFloat();
if (input >= min && input <= max) {
inputValidate = true;
} else {
System.out.println("Not in range. Please input temperature -60 to 212.");
scanner.nextLine();
}
} catch (InputMismatchException exception) {
System.out.println("Not a number. Please input temperature -60 to 212.");
scanner.nextLine();
}
} while(!inputValidate);
celsius = (input - 32) * (5 / 9);
System.out.printf(input + " °F is " + celsius + " °C");
}
}
如果从用户输入转换为摄氏度,无论我输入什么内容,实际结果总能给我0.0的预期输出。