我目前正在做一些代码,遇到了问题,无法理解。我对此很陌生,将不胜感激

我正在尝试为日期设定一个复合条件,但似乎无法理解该如何做。

public void rentBook(int theBorrowerNumber, String theReturnDate)
{

        if(theBorrowerNumber <=0)                                         // checks if the borrower number is less or equal to 0
        {
            System.out.println("Invalid borrower number");                // prints the error message
        }
    ///////////////////////////////////////
    returnDate = theReturnDate;                                           // reDate aquires theReDate content
    String day = returnDate.substring(0,2);                               // set the day to the first 2 numbers from the date
    String month = returnDate.substring(2,4);                             // set the month to the second 2 numbers form the date
    int theDay = Integer.parseInt(day);                                   // converts the day string to integer
    int theMonth = Integer.parseInt(month);                               // converts the month string to integer
    //////////////////////////////////////
        if(theDay <= 0 | theDay >= 32 | theMonth <= 0 | theMonth >= 13)   //setting the parameters the date must be within
        {
            System.out.println("Invalid date");                           // prints out if the date is wrong
        }
        else
        {
            super.setBorrowerNumber(theBorrowerNumber);                  // sets the borrower number in the super class
        }

}

最佳答案

逻辑或运算符是||而不是|

if(theDay <= 0 || theDay >= 32 || theMonth <= 0 || theMonth >= 13)

09-26 05:33