Java 程序中的字符串输入

Java 程序中的字符串输入,java,Java,我在书中找不到答案,答案很简单,但我在这里遗漏了一些简单的东西 我有一个程序,我要求用户“选择客户或员工C或E”,然后我需要说他们是否选择了C,然后做这个,或者他们是否选择了E,然后做那个。 我是新来的,正在挣扎,所以我知道这可能是件容易的事,但我不明白 Scanner in = new Scanner(System.in); system.out.println("choose c or e: "); if (in.equalsIgnoreCase("c"))

我在书中找不到答案,答案很简单,但我在这里遗漏了一些简单的东西

我有一个程序,我要求用户“选择客户或员工C或E”,然后我需要说他们是否选择了C,然后做这个,或者他们是否选择了E,然后做那个。 我是新来的,正在挣扎,所以我知道这可能是件容易的事,但我不明白

    Scanner in = new Scanner(System.in);
    system.out.println("choose c or e: ");

    if (in.equalsIgnoreCase("c"))
    {
    //do something
    }

    if (in.equalsIgnoreCase("e"))
    {
   // do something
    }

我做错了什么?

扫描仪不是实际的输入-您需要从扫描仪读取输入,例如

Scanner scanner = new Scanner(System.in);
// Note capital S - Java is case-sensitive
System.out.println("choose c or e: ");

String input = scanner.nextLine();

if (input.equalsIgnoreCase("c"))
...

中的
是扫描仪,而不是字符串。Use in.next()

扫描仪没有类似equalsIgnoreCase()的方法,此方法以字符串形式存在。因此,使用next()或nextLine()获取一个字符串并执行您想要的操作

Scanner in = new Scanner(System.in);
system.out.println("choose c or e: ");
String value = in.next();
if (value.equalsIgnoreCase("c"))
{
//do something
}

if (value.equalsIgnoreCase("e"))
{
// do something
}