[英]how to change a char to a boolean?
我的問題是如何將char更改為布爾值。 例如我有2節課
一種是僅采用出血史方法和信息的患者課程:
Public class Patient {
private static String name;
private static boolean bleedingHistory = true;
private String answer;
private double ureaLevel;
private double proLevel;
public Patient()
{
String name = "unknown";
double ureaLevel = 0.0;
double proLevel = 0.0;
boolean bleedingHistory = false;
}
public Patient (String inName, boolean inBleedingHistory)
{
if (name != "" || bleedingHistory == true)
{
name = inName;
bleedingHistory = inBleedingHistory;
}
else
{
name = "unknown";
bleedingHistory = false;
}
proLevel = 0.0;
ureaLevel = 0.0;
}
public boolean getBleedingHistory()
{
return bleedingHistory;
}
public void setBleedingHistory(boolean inBleedingHistory)
{
bleedingHistory = inBleedingHistory;
}
另一個類調用PatientCheck,要求用戶輸入患者是否有出血史:
System.out.print("Does the patient has a history of bleeding(Yes or No)?: ");
char inBleedingHistory;
do
{
inBleedingHistory = sc.next().charAt(0);
if (inBleedingHistory != 'n' && inBleedingHistory != 'N' && inBleedingHistory != 'y' && inBleedingHistory != 'Y')
{System.out.println("Invalid answer, please enter YES or NO: ");
sc.nextLine();
}
}while (inBleedingHistory != 'n' && inBleedingHistory != 'N' && inBleedingHistory != 'y' && inBleedingHistory != 'Y');
pat1 = new Patient (inName, inBleedingHistory);
我知道病史檢查的患者檢查部分是錯誤的,但是我該怎么做才能糾正它? 謝謝
pat1 = new Patient(inName, (inBleedingHistory=='y' || inBleedingHistory=='Y'));
pat1 = new Patient (inName, Character.toString(inBleedingHistory).equalsIgnoreCase("y"));
如果inBleedingHistory匹配y或Y,則將返回true。還將在比較之前將Char轉換為String。
您也可以使用以下命令將其轉換為字符串
pat1 = new Patient (inName, String.valueOf(inBleedingHistory).equalsIgnoreCase("y"));
是一樣的
您還可以比較字符,這可能是最快的方法。
Character yesLower, yesUpper;
yesLower = new Character('y');
yesUpper = new Character('Y');
pat1 = new Patient (inName, (inBleedingHistory.compareTo(yesLower ) == 0 || inBleedingHistory.compareTo(yesUpper) == 0));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.