如何在if语句[Java]中使用键盘上的字符
我的代码有点问题。我需要将温度从摄氏度转换为华氏度,反之亦然,用户可以选择“F”或“C”(小写或大写),但似乎不知道如何正确转换。我不知道如何让它识别变量应该通过键盘输入如何在if语句[Java]中使用键盘上的字符,java,Java,我的代码有点问题。我需要将温度从摄氏度转换为华氏度,反之亦然,用户可以选择“F”或“C”(小写或大写),但似乎不知道如何正确转换。我不知道如何让它识别变量应该通过键盘输入 Scanner Keyboard = new Scanner(System.in); System.out.println("Type C to convert from Fahrenheit to Celsius or" + "F to convert from Celsius to F
Scanner Keyboard = new Scanner(System.in);
System.out.println("Type C to convert from Fahrenheit to Celsius or" +
"F to convert from Celsius to Fahrenheit.");
char choice = Keyboard.nextLine().charAt(0);
//Get user input on whether to do F to C or C to F
if (choice == F) //Fahrenheit to Celsius
{
System.out.println("Please enter the temperature in Fahrenheit:");
double C = Keyboard.nextDouble();
double SaveC = C;
C = (((C-32)*5)/9);
System.out.println(SaveC + " degrees in Fahrenheit is equivalent to " + C + " degrees in Celsius.");
}
else if (choice == C)
{
System.out.println("Please enter the temperature in Celsius:");
double F = Keyboard.nextDouble();
double SaveF = F;
F = (((F*9)/5)+32);
System.out.println(SaveF +" degrees in Celsius is equivalent to " + F + " degrees in Fahrenheit.");
}
else if (choice != C && choice != F)
{
System.out.println("You've entered an invalid character.");
}
您可以使用扫描仪读取输入,然后打电话查看它是否等于“C”或“F” 比如说, 扫描器x=新扫描器(System.in) 字符串选择=x.nextLine()
您可以使用扫描仪读取输入,然后打电话查看它是否等于“C”或“F” 比如说, 扫描器x=新扫描器(System.in) 字符串选择=x.nextLine()
当与
选项
变量比较时,F和C字符应该用单引号括起来。使用|
(表示“或”)测试大写或小写。即
if (choice == 'F' || choice == 'f')
...
else if (choice == 'C' || choice == 'c')
...
else
...
当与
选项
变量比较时,F和C字符应该用单引号括起来。使用|
(表示“或”)测试大写或小写。即
if (choice == 'F' || choice == 'f')
...
else if (choice == 'C' || choice == 'c')
...
else
...
你能出示
F
和C
的声明吗?。。还有什么错误?你的问题是什么?对于初学者,像F和C这样的字母应该用单引号引起来,因为它们是字符,所以用“F”和“C”代替。你能显示F
和C
的声明吗?。。还有什么错误?你的问题是什么?对于初学者来说,像F和C这样的字母应该用单引号引起来,因为它们是字符,所以用“F”和“C”代替。对不起,我忘了。尝试choice.equals()最好使用“f”.equalsIgnoreCase(choice)。忽略大小写并防止NullPointerException抱歉,我忘了。尝试choice.equals()最好使用“f”.equalsIgnoreCase(choice)。忽略案例并防止NullPointerException@user2883232如果答案对您有帮助,请单击答案旁边的复选标记以将其标记为已接受。:)@用户2883232如果答案对您有帮助,请单击答案旁边的复选标记以将其标记为已接受。:)