簡體   English   中英

如何將char更改為布爾值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM