gpt4 book ai didi

java - 摄氏度/华氏度转换错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:22:15 24 4
gpt4 key购买 nike

很抱歉我的初学者错误,但我正在编写一个计算器,将华氏温度转换为摄氏度,将摄氏度转换为华氏温度,但我不断收到此错误:

Exception in thread "main" java.lang.NumberFormatException: 
For input string: "69C"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)
at java.lang.Double.valueOf(Double.java:504)
at Converter.main(Converter.java:39)

这是我的代码,希望对您有所帮助:

import java.util.Scanner; 
public class Converter {

public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);

System.out.println("Welcome to the Fahrenheit/Celsius Converter!");
System.out.println("To convert, type in your temperature and the
identify if you are using fahrenheit or celsius.");
System.out.println("Example: 69F or 69C F = Fahrenheit C = Celsius");

String temperature;
char f = 'f';
char c = 'c';
double answer , temp;

temperature = keyboard.nextLine();

if (temperature.contains("F")) {
temperature = temperature.replace(f , ' ');
temp = Double.valueOf(temperature);
answer = temp - 30 / 2;
System.out.println("Poof! The temperature is " + answer + "C");
} else {
System.out.println("You entered the temperature wrong!");
}

if (temperature.contains("F")) {
temperature = temperature.replace(f , ' ');
temp = Double.valueOf(temperature);
answer = temp - 30 / 2;
System.out.println("Poof! The temperature is " + answer + "C");
} else {
System.out.println("You entered the temperature wrong!");
}

if (temperature.contains("C")) {
temperature = temperature.replace(c , ' ');
temp = Double.valueOf(temperature);
answer = temp + 30 * 2;
System.out.println("Poof! The temperature is " + answer + "F");
} else {
System.out.println("You entered the temperature wrong!");
}

if (temperature.contains("c")) {
temperature = temperature.replace(c , ' ');
temp = Double.valueOf(temperature);
answer = temp + 30 * 2;
System.out.println("Poof! The temperature is " + answer + "F");
} else {
System.out.println("You entered the temperature wrong!");
}
}
}

最佳答案

你不能将 69C 转换为数字,可以吗。替换区分大小写

尝试

temperature = temperature.replace('C' , ' ');

当然你可以将变量更改为“C”

关于java - 摄氏度/华氏度转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com