将Celsius转换为Fahrenheit Java时无法找到符号错误

时间:2016-10-22 09:24:13

标签: java jgrasp

我对所有这些内容都很陌生,我想在Celsius中将Fahrenheit转换为jGRASP Java。我正在使用的代码附在图片中,错误也可以在另一张图片中看到。

thats the code i am using

错误消息

the following is the error

3 个答案:

答案 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();
  }

并举例说明:

enter image description here