2017-10-15 12 views
-5

코드를 컴파일하면 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); 
    } 
} 
}  

, 나는 내가 방법을 호출 할 때 변수를 사용할 수있어 잘 모르겠어요. 그러나 나는 그것이 허용되지 않는다고 말하는 어떤 것도 발견 할 수 없었다.

+2

'celcius'와'fahrenheit' 둘 다 값을 할당받지 못합니다. –

+2

그리고'temperature'를 사용하지 마십시오 –

+0

'celcius' 또는'fahrenheit'는 어디에서 초기화합니까? –

답변

0

유일한 문제는 온도, 섭씨 또는 열등한 열을 초기화하지 않았기 때문입니다.
여기 변수를 만들기 :
double celsius,fahrenheit,temperature,inFahrenheit,inCelsius;, 당신은 (20)가
나는 것을, 화씨의 int 섭씨을 가지고, 또는 더블 섭씨와 화씨로는 동일하게 설정하는 것이 좋습니다 말, 뭔가 온도가 동일해야 온도 ... 수학과 동등하게 맞 춥니 다.

+0

온도가 사용자 입력 (이 경우 버퍼링 된 리더 stdin)을 사용하면 해당 문장을 잘못된 위치에 두거나 완전히 오용 한 것입니까? 섭씨와 화씨는 변수가 아니라 방법이라고 생각합니다. – Dks1

+0

@ Dks1 물론, 나는 단지 당신이해야 할 일을 지적하고있었습니다. –

+0

@ ProgrammingNub ok, 고맙습니다, 나는 그것을 이해하지 못했습니다. 그래서 내 성명 '온도 = Double.ParseDouble (온도);' 다른 곳에 있어야합니까? 섭씨와 화씨를 온도로 설정 하시겠습니까? – Dks1

관련 문제