使用带有if-else语句的scan.nextLine的结果 - Java

时间:2015-01-24 03:44:00

标签: java if-statement

我正在尝试制作一个BAC(血液酒精含量)计算器,该计算器接收用户的输入并让他们知道他们是否有资格赢得...一个大的DUI奖!我正在尝试使用扫描仪来确定该人是男性还是女性,然后根据用户输入的内容使用if-then语句...但我真的不知道如何。它应该是一个非常简单的修复,但这就是我所拥有的,并且有点我想用if-then语句注释掉的内容。

import java.util.*;

public class Proj2_Mazzone
{
    public static void main (String[] args)
    {

        Scanner scan = new Scanner(System.in);

        String gender;
        int D, W, H, age;

...

System.out.print("Enter M if you're a male, or F if you're a female: ");
            gender = scan.nextLine();

            /*if(gender = M)
                {
                    System.out.println("You're a man!");
                }
                else if(gender = F)
                    {
                        System.out.println("You're a woman!");
                    }
            */

2 个答案:

答案 0 :(得分:2)

使用如下:

if(gender.equals("M"))
                {
                    System.out.println("You're a man!");
                }
                else if(gender.equals("F"))
                    {
                        System.out.println("You're a woman!");
                    }

注意: =赋值运算符不是条件运算符。

您可以在下面的链接中看到java中的条件是否相同 http://www.programmerinterview.com/index.php/java-questions/java-whats-the-difference-between-equals-and/
What's the difference between ".equals" and "=="?

答案 1 :(得分:2)

比较String时,您使用.equals().equalsIgnoreCase()。像,

gender = scan.nextLine();
if (gender.equalsIgnoreCase("m")) {
    System.out.println("You're a man!");
} else if (gender.equalsIgnoreCase("f")) {
    System.out.println("You're a woman!");
}

但是,您也可以将第一个字符与

之类的字符进行比较
if (Character.toUpperCase(gender.charAt(0)) == 'M') {
    System.out.println("You're a man!");
} else if (Character.toUpperCase(gender.charAt(0)) == 'F') {
    System.out.println("You're a woman!");
}

注意,即==(不是=,用于转让。)