Преобразование символа в логическое значение - Java - PullRequest
0 голосов
/ 03 марта 2019

Хорошо, я пытаюсь выполнить домашнее задание и столкнулся с этой проблемой.Как мне преобразовать символ в логическое значение?Сначала я получаю ввод с клавиатуры с клавиатуры, «Y», если сотрудник выбирает семейную страховку, и «N», если это не так.Затем мне нужно взять этот вход и включить его в метод для расчета общей страховки.Тем не менее, параметр для семейного страхования в этом методе является логическим, поэтому мне нужно каким-то образом преобразовать символ в логическое значение и установить Y как true и N как false.Любая помощь будет оценена!Спасибо!

Ответы [ 3 ]

0 голосов
/ 03 марта 2019

Используйте эту функцию.Он принимает в качестве параметра символьную переменную и возвращает true, если он равен 'Y', в противном случае он возвращает false.

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

Вам также необходимо импортировать следующую библиотеку

import java.lang.*;
0 голосов
/ 03 марта 2019

Попробуйте это для пошагового объяснения.

Ваши требования в псевдокоде:

 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;
   }

Однако,это немного многословно.Результат условного выражения сам по себе является логическим значением true или false, поэтому мы можем уменьшить его до:

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

Теперь вы можете просто вызвать этот метод с помощью входного символа.

0 голосов
/ 03 марта 2019

Вы можете использовать оператор равенства.

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