-1
package temperatureconversion;
import java.util.Scanner;
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter Conversion type: Press C for Celsius to Fahrenheit or press F     For Fahrenheit to Celsius.");

 String Vctype = keyboard.next();

    if (Vctype == "f" || Vctype == "F"){
        System.out.println("Please enter fahrenheit");
        double Vfahrenheit = keyboard.nextInt();
        Vfahrenheit = (Vfahrenheit)*(9/5)+(32);
            System.out.println(Vfahrenheit);
    }
    if (Vctype == "c" || Vctype == "C"){
        System.out.println("Please enter celcius");
        double Vcelcius = keyboard.nextInt();
        Vcelcius = (Vcelcius - 32)*(5/9);
               System.out.println(Vcelcius) ;
    }        
  }   
}

こんにちは皆さん、私は誰かが上記のコードで私を助けることができるかどうか疑問に思っていました. 基本的に、netbeans の出力コンソールでは、C または F を押すとプログラムが終了するように見えますが、代わりに数値を要求してから数値入力を許可し、計算して最後に計算を表示する必要があります。if ステートメントを実行していないようです どこが間違っているのでしょうか?

4

1 に答える 1

0

String と を比較してい==ます。したがって、機能しません。これを使用する必要があります:

if (Vctype.toLowerCase().equals("f"))

また、「toLowerCase」を使用すると文字列全体が小文字になるため、「F」と「f」の 2 つのオプションを指定する必要はありません。

必要に応じて、「compareTo」を使用できます

if (Vctype.toLowerCase().compareTo("f") == 0)
于 2013-10-12T16:34:01.307 に答える