将字符转换为布尔值-Java

将字符转换为布尔值-Java,java,char,boolean,Java,Char,Boolean,好的,所以我试着做一些家庭作业,我遇到了这个问题。如何将字符转换为布尔值?我首先从键盘上输入一个字符,如果员工选择家庭保险,则输入“Y”,如果员工不选择家庭保险,则输入“N”。然后,我需要把这个输入插入到一个方法中来计算总保险额。但是,该方法中家庭保险的参数是一个布尔值,因此我需要以某种方式将字符转换为布尔值,并将Y设置为true,N设置为false。任何帮助都将不胜感激!谢谢 您可以使用相等运算符 result = yourMethod(input == 'Y'); 使用此功能。它将字符变量

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

您可以使用相等运算符

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

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

public static boolean convertCharToBoolean(char input) {
    return Character.toLowerCase(input) == 'y' ? true : false;
}
您还需要导入以下库

import java.lang.*;

试着用这个逐步解释

在伪代码中,您的需求是:

 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) {
     return (input == 'Y' || input == 'y');
  }

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

您的问题在哪里?这只是一个简单的
if
/
else
或三元运算符,仅此而已。你不需要任何“魔法”对不起,我对java很陌生。问题是,我需要这样做,如果用户输入一个字符“Y”,Y将是真的,如果他们输入一个“N”,它将是假的。我试着做一个if/else语句,比如if-cVar('Y'),然后cVar=true等等,但这不起作用。之所以会出现这种情况,是因为我以后在程序中不得不使用的一个方法使用这个变量(Y或N)作为参数,但要使该方法起作用,该参数必须是布尔值。当你尝试了一些东西时,最好将其添加到问题中,因此,答案可以向您解释为什么它不起作用,以及您应该如何修复代码或使用不同的方法实现目标。java.lang不必导入,或者作为:“编译单元中的代码自动访问其包中声明的所有类型,并自动导入预定义包java.lang中声明的所有公共类型。”此外,someBooleanExpression?true:false是编写someBooleanExpression的迂回方式。原始意思是”如果该值为真,则该值为真,否则该值为假”。你是对的,我知道这一点,但正如我对tophats的理解,这在编程方面是新的,我选择给出他能够理解的最简单的解决方案。不过,感谢你的评论
  boolean charToBool(char input) {
     return (input == 'Y' || input == 'y');
  }