我对所有这些内容都很陌生,我想在Celsius
中将Fahrenheit
转换为jGRASP Java
。我正在使用的代码附在图片中,错误也可以在另一张图片中看到。
错误消息
答案 0 :(得分:0)
消息说明了一切。您尚未声明F
,因此编译器无法找到该符号。在使用之前声明它,如
int F = 0;
编辑:您可能想要将input
与字符串文字"F"
进行比较。您必须将input
声明为string
,将string
变量读入其中,然后使用if
子句,如
if (input == "F") {//...
答案 1 :(得分:0)
if (input == F)
在您提供的代码中,您永远不会声明F。
根据您想要查看用户输入" F"的代码来判断,但是您可以这样分配输入变量:
int input = scan.nextInt();
做这样的事情会更好:
String input = scan.nextLine();
if(input.equals("F")){
// rest of code
答案 2 :(得分:0)
您的代码存在的问题是您告诉扫描程序读取一个int数据,并且您需要一个文本或一个字符。使用scanner.next()将返回空格前的字符串。然后你可以查看它的价值。这是一个例子。
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
String tempScale = "";
System.out.print("Enter the current outside temperature: ");
double temps = scanner.nextDouble();
System.out.println("Celsius or Farenheit (C or F): ");
String input = scanner.next();
if ("F".equalsIgnoreCase(input)) {
temps = (temps-32) * 5/9.0;
tempScale = "Celsius.";
} else if ("C".equalsIgnoreCase(input)) {
temps = (temps * 9/5.0) + 32;
tempScale = "Farenheit.";
}
System.out.println("The answer = " + temps + " degrees " + tempScale);
scanner.close();
}
并举例说明: