【问题标题】:How to check if the input given by the user is Y or N如何检查用户给出的输入是Y还是N
【发布时间】:2020-01-15 08:15:50
【问题描述】:

总结一下,给我任何关于如何解决它的想法或解决方案。

我尝试了下面代码中给出的内容。

System.out.print("Want to continue Shopping or end your shopping spree and want the bill for your shopping (answer in Y or N)");
            String end = sc.next();
            if(end =="Y")
                System.out.println("hello");

我期望上面代码中的输出hello,但实际结果不是程序刚刚结束。

【问题讨论】:

  • 请提供完整的工作代码示例,并且您提供的输入无法按预期工作。但一般而言,您应该使用String.equals() 来比较Java 中的字符串,而不是== 运算符。在您的情况下,您也可以考虑使用String.equalsIgnoreCase()
  • @CrEaTor VR 你试过我的解决方案了吗?如果对您有帮助,请将其标记为已接受。

标签: java if-statement shopping


【解决方案1】:

首先,我不知道你的问题到底是什么。我看不到有关您正在使用哪种编程语言(我想是 Java)或您正在使用哪种操作系统的任何信息。

但我知道问题可能出在哪里:当您使用标准输出时,我想该程序发生在控制台或终端上。在某些环境中,cmd 窗口将在程序终止后关闭(当使用像 VS Community 这样的 IDE 时,我不知道你是否这样做,没有上下文)。如果是这种情况,将打印“hello”,但您不会看到它,因为窗口会立即关闭。尝试在末尾添加某种 getline,然后重试。

【讨论】:

    【解决方案2】:

    假设sc 是一个Scanner 对象。

    字符串比较必须使用equal 方法而不是==,因为这样做您将比较对象在内存中的引用而不是字符串内容,试试这个:

    System.out.print("Want to continue Shopping or end your shopping spree and want the bill for your shopping (answer in Y or N)");
    String end = sc.next();
    if(end.equals("Y")) {
        System.out.println("hello");
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-23
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多