我目前正在做一些代码,遇到了问题,无法理解。我对此很陌生,将不胜感激
我正在尝试为日期设定一个复合条件,但似乎无法理解该如何做。
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)