【问题标题】:How to convert a char to a boolean in Java?如何在 Java 中将字符转换为布尔值?
【发布时间】:2014-11-21 10:26:59
【问题描述】:

我想在屏幕上显示一个带有两个选项的问题(你结婚了吗:y/n)。用户必须按或“y”或“n”。之后我想在屏幕上打印“已婚”或“未婚”。

我考虑过使用 char 来通过 Scanner 类 (System.in) 获取输入,然后将此 char 转换为布尔类型,以便使用 if 语句显示两个选项。问题是我不知道如何将此字符转换为布尔类型。是否有意义?有没有其他方法可以用不同的方式来做这个例子?

非常感谢

【问题讨论】:

  • 无需投射。只需检查if (ch == 'y' || ch == 'Y') { ... } else { ... },其中ch 是您的char
  • 对于初学者,不要使用布尔值,使用枚举

标签: java casting char boolean


【解决方案1】:

是的,您尝试做的方式是不制作场景。你可以这样做

Scanner sc=new Scanner(System.in);
String st=sc.nextLine();
if("y".equalsIgnoreCase(st)){
  // married
}else if("n".equalsIgnoreCase(st)){
 // not married
}

【讨论】:

    【解决方案2】:

    我认为枚举是一个不错的方法。将规则封装在您的对象中。

    将用户响应绑定到对象是视图的职责。输入是下拉菜单还是文本框?

    婚姻状况很有趣。除了“是/否”之外,还有更多的味道:单身、已婚、离婚、分居、卡戴珊等。

    public class MaritalStatus {
        MARRIED, NOT_MARRIED;
    }
    

    【讨论】:

      【解决方案3】:

      很简单:

      boolean isYes = (inputChar=='y' || inputChar=='Y');
      

      您还可以将字符转换为大写/小写,这样就不需要||。取决于你有多少测试,是否值得。

      在这种情况下,这些括号并不是真正需要的,因为|| 的优先级高于赋值,但我个人发现将这样的“条件”括在括号中时会更清楚。

      【讨论】:

        【解决方案4】:

        您不能简单地将char 转换为boolean,但可以将其与'y''n' 进行比较

        public static boolean charToBool(char c) {
            // c = Character.toLowerCase(c);
            switch (c) {
                case 'y':
                    return true;
                case 'n':
                    return false;
                default:
                    throw new IllegalArgumentException("Must be either 'y' or 'n'.");
            }
        }
        

        【讨论】:

          【解决方案5】:

          您不能将字符转换为布尔值,因为程序如何知道“y”表示真而“n”表示假? 使用 if 语句

          bool married = false;
          if(input.equalsIgnoreCase("y"))
              married = true;
          

          我敢打赌,简单的谷歌搜索会帮助你完成作业。

          【讨论】:

            猜你喜欢
            • 2019-07-24
            • 2018-12-02
            • 1970-01-01
            • 1970-01-01
            • 2023-03-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-11
            相关资源
            最近更新 更多