在用户输入要输入的if语句后,if语句未正确执行

时间:2013-10-12 16:30:02

标签: java

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语句我哪里错了?

1 个答案:

答案 0 :(得分:0)

您正在将字符串与==进行比较。所以它不起作用,你必须使用它:

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

另请注意,使用" toLowerCase"使整个字符串小写,所以你不必有两个选项" F"和" f"。

如果您愿意,可以使用" compareTo"

if (Vctype.toLowerCase().compareTo("f") == 0)