2017-10-15 22 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

あなたは決して '温度'を使用しません –

+0

'celcius'または' fahrenheit'はどこで初期化しますか? –

答えて

0

唯一の問題は、温度、摂氏または華氏を初期化していないことです。
ここにあなたの変数を作成する場合:
double celsius,fahrenheit,temperature,inFahrenheit,inCelsius;、あなたが何かに等しい温度を確認する必要があり、私はint型摂氏と華氏を取ることをお勧めします、またはダブルス摂氏と華氏に等しく、それらを設定する、ということでしょう20
言いますあなたは温度...数学と同じに設定します。

+0

私はあなたのポイントを見ていますが、温度はユーザーの入力(この場合バッファ付きリーダーstdin)は、そのステートメントを間違った場所に置くか、まったく誤用するだけでしたか?そして、摂氏と華氏は変数ではなくメソッドであると考えられています。 – Dks1

+0

@ Dks1もちろん、私はあなたがする必要があることを指摘していた –

+0

@ ProgrammingNub大丈夫です、私はそれを理解していませんでした。だから私のステートメント '温度= Double.ParseDouble(温度);'他の場所にいる必要がありますか?摂氏と華氏を温度に設定しますか? – Dks1

関連する問題