java - 即使变量已经在方法中,也可能未初始化

标签 java methods compiler-errors

当我编译代码时,它告诉我我有2个错误,两个变量都可能不是初始化错误。问题在于摄氏温度和华氏温度。我相信我已经用它们各自的方法初始化了它们。

import java.io.*;

class Converter
{

double celsius,fahrenheit,temperature,inFahrenheit,inCelsius;

double Celsius (double temperature)
    {
    celsius  = (5.0 / 9.0) * (temperature - 32);
    return celsius;
    }
double Fahrenheit (double temperature)
    {
    fahrenheit = (9.0 / 5.0) * temperature + 32;
    return fahrenheit;
    }
}



 public class ConverterTester
{
public static void main(String[] args)throws IOException
{
    double temperature,fahrenheit,celsius;

    InputStreamReader inStream = new InputStreamReader (System.in);
    BufferedReader stdin = new BufferedReader (inStream);

    String intemperature,inCelciusOrFahrenheit;

    System.out.println("What is the temperature");
    intemperature = stdin.readLine();
    temperature = Double.parseDouble(intemperature);

    System.out.println("What is the temperature you wish to convert to, Celsius or Fahrenheit");
    inCelciusOrFahrenheit = stdin.readLine();


if (inCelciusOrFahrenheit.equals("Celsius"))
    {
    Converter Conversion1 = new Converter();
    Conversion1.Celsius(celsius);
    System.out.println("Your new temperature is " + celsius);
    }

else if(inCelciusOrFahrenheit.equals("Fahrenheit"))
    {   
    Converter Conversion2 = new Converter();
    Conversion2.Fahrenheit(fahrenheit);
    System.out.println("Your new temperature is " + fahrenheit);
    }
else 
    {
    System.out.println("Please enter a correct temperature");
    System.exit(0);
    }
}
}       

当我调用Celsius方法和Fahrenheit方法时会发生错误,我不确定在调用这些方法时是否允许使用变量。但是,我找不到任何不允许的内容。

最佳答案

唯一的问题是您没有初始化温度,摄氏或华氏度。
在此处进行变量设置时:
double celsius,fahrenheit,temperature,inFahrenheit,inCelsius;,您需要使温度等于某个值,例如20。
我建议取出整数摄氏度和华氏度,或将它们设置为等于摄氏温度和华氏度的倍数,将温度设置为等于...数学。

关于java - 即使变量已经在方法中,也可能未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760142/

相关文章:

java - 在 MySQL JDBC 准备语句中使用 "zero"时间戳(在 WHERE 子句中)

java - 为什么Java中不指定类或对象就可以调用setLayout()?

kotlin - Kotlin : if String is null and double bang(!!) operator is used, why does it give compile error for length function?

c++ - 显式 c++ 关键字 : what is wrong with this code?

java - 通过使用单独的对象帮助 JVM 进行堆栈分配

java - 安全漏洞 : How to avert them?

r - 如何编写将输出作为 S3 类返回的函数

Python 方法只工作一次

java - 一些消息已被简化;使用 -Xdiags :Verbose to get full output 重新编译

java - 如何防止 Gamecih 作弊?