if-else语句不在Java中执行

时间:2014-06-08 02:57:53

标签: java

为什么我的if-else语句在gender == "m"gender == "f"

时无法执行
Scanner input = new Scanner(System.in);


    do 
    {
        System.out.print("Please enter 'm' for male and 'f' for female child: ");
        String gender = input.next();

        System.out.print("The height of the mother in inches: ");
        int motherHeight = input.nextInt();

        System.out.println("The height of the father in inches: ");
        int fatherHeight = input.nextInt();

        if(gender == "m") 
        {
            double childHeight = ((motherHeight * 13/12) + fatherHeight) / 2;
            System.out.println(childHeight);
        }
        else if (gender == "f")
        {
            double childHeight = ((fatherHeight * 13/14) + motherHeight) / 2;
            System.out.println(childHeight);
        }


    }

    while(input.hasNext());

1 个答案:

答案 0 :(得分:0)

使用正确的方法来比较字符串,因为您正在比较字符串的内存位置

<强>问题

if(gender == "m") //compares memory location of the String will return always false

<强>溶液

if(gender.equals("m"))