【问题标题】:Converting a char to a boolean - Java将字符转换为布尔值 - Java
【发布时间】:2019-07-24 13:53:01
【问题描述】:

好的,所以我尝试做一些家庭作业,但遇到了这个问题。如何将字符转换为布尔值?我首先从键盘输入字符,如果员工选择家庭保险,则输入“Y”,否则输入“N”。然后我需要获取该输入并将其插入到计算总保险的方法中。但是,方法中的家庭保险参数是布尔值,所以我需要以某种方式将 char 转换为布尔值,并将 Y 设置为 true,N 设置为 false。任何帮助,将不胜感激!谢谢!

【问题讨论】:

  • 您的问题在哪里?这只是一个简单的if/else 或三元运算符,仅此而已。你不需要任何“魔法”
  • 对不起,我对 java 很陌生。问题是我需要这样做,以便如果用户输入一个字符“Y”,则 Y 将为真,如果他们输入“N”,则为假。我尝试做一个 if/else 语句,比如 if cVar ('Y') then cVar=true 等等,但这不起作用。这一切的原因是因为我必须稍后在程序中使用的方法使用此变量(Y 或 N)作为参数,但要使方法工作,参数必须是布尔值。
  • 当您尝试过某些事情时,将其添加到问题中总是一个好主意,因此答案可以向您解释为什么它不起作用以及您应该如何修复您的代码或用不同的方法实现您的目标。

标签: java char boolean


【解决方案1】:

使用此功能。它将字符变量作为参数,如果是'Y'则返回true,否则返回false。

public static boolean convertCharToBoolean(char input) {
    return Character.toLowerCase(input) == 'y' ? true : false;
}

您还需要导入以下库

import java.lang.*;

【讨论】:

  • java.lang 不必被导入,或者the spec puts it:“编译单元中的代码自动访问其包中声明的所有类型,并自动导入所有公共类型在预定义的包 java.lang 中声明。"
  • 另外,someBooleanExpression ? true : false 是写someBooleanExpression 的迂回方式。原文的意思是“如果值为真则值为真否则值为假”。
  • 你是对的,我知道这一点,但据我了解,它在编程方面是新的,我选择给出他能够理解的最简单的解决方案。不过谢谢你的cmets
【解决方案2】:

您可以使用相等运算符。

result = yourMethod(input == 'Y');

【讨论】:

    【解决方案3】:

    试试这个逐步解释。

    您的要求是伪代码:

     if char is 'Y'
        then result is true
     if char is 'N'
        then result if false
    

    作为规范,这是不完整的。如果输入既不是“Y”也不是“N”,结果是什么?让我们做出假设;任何不是“Y”的都是假的。

      if char is 'Y'
          then result is true;
      else
          result is false;
    

    您可以从中编写代码:(我假设我们不关心大小写)

      boolean charToBool(char input) {
         if (input == 'Y' || input == 'y')
             return true;
         else
             return false;
       }
    

    但是,这有点罗嗦。条件表达式的结果本身就是一个布尔值,要么为真要么为假,因此我们可以将其简化为:

      boolean charToBool(char input) {
         return (input == 'Y' || input == 'y');
      }
    

    现在您可以使用输入字符调用该方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      • 2013-01-24
      • 2012-03-10
      相关资源
      最近更新 更多