System.out.print("Enter C for Celsius or F for Farenheit: ");
String optionLetter = kb.readLine();
if (optionLetter == 'c')
{
System.out.print("Enter temperature: ");
double tempC = Integer.parseInt(kb.readLine());
double degreesF = (9 * (tempC/5) +32);
System.out.println(tempC + " celcius is " + degreesF + " in farenheit.");
}
}
因此用户只能输入一个字符 C 或 c...所以基本上在 readLine 中,它无法读取字符数据类型...所以我强制在字符串中声明它,但是当我在 a 中使用它时if 语句中的条件我在编译过程中收到错误,字符串和字符是不兼容的类型... 我知道它不兼容,但我能做什么???我无法将变量 optionLetter 声明为字符,而且我只需要检查用户是否输入 c???
我要如何检查...??
我尝试了 .equals 方法,但仍然不起作用。
最佳答案
您可以尝试获取字符串的第一个字符:
if (optionLetter.charAt(0) == 'c')
或者您可以将其与字符串“c”而不是字符“c”进行比较。
if (optionLetter.equals("c"))
您甚至可以使其不区分大小写:
if (optionLetter.equalsIgnoreCase("c"))
双引号 ("
) 表示 String
对象,而单引号 ('
) 表示 char
基元。 String
类有一个方法 equals
可以将其与其他对象进行比较。要比较字符,您可以使用 ==
。
关于java - 如何比较字符串和字符类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27210027/