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

时间:2017-10-15 21:23:11

标签: 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方法时会出现错误,我不确定在调用方法时是否允许使用变量。然而,我无法找到任何说不允许的事情。

1 个答案:

答案 0 :(得分:0)

你唯一的问题是你没有初始化温度,摄氏度或华氏度 在这里制作变量时:
 double celsius,fahrenheit,temperature,inFahrenheit,inCelsius;,你需要让温度等于20,例如20 我建议取出摄氏度和华氏度,或者将它们设置为等于摄氏度和华氏度,你设定等于温度......数学。