[英]Java: How to reduce the number of if-else statements where not possible to merge them
尽管我的代码可以按照我的要求完美运行,但是我的代码中有很多if-else语句,所以我想问一下是否可以减少此代码中的if-else语句
if ( nightPost(timePicker1.getValue().toString(), timePicker4.getValue().toString()) ) {
if ( !teToTime.isAfter(LocalTime.parse("08:30",format)) ) {
textField4.setStyle("");
if(getDifference(timeKA, timeKB)<121 && getDifference(timeKA, timeKB)>59) {
timePicker3.setStyle("");
if ( range(timePicker1.getValue().toString(), timePicker2.getValue().toString(),
timePicker3.getValue().toString(), timePicker4.getValue().toString())) {
timePicker2.setStyle("");
timePicker3.setStyle("");
if( increaseTxt.isBefore(LocalTime.parse("11:01",format)) )
{
textField5.setStyle("");
return true;
} else {
textField5.setStyle("-fx-border-color: red");
return false;
}
} else {
timePicker2.setStyle("-fx-border-color: orange");
return false;
}
}
else {
timePicker3.setStyle("-fx-border-color: red");
return false;
}
} else {
textField4.setStyle("-fx-border-color: red");
return false;
}
}
return false;
用警卫条款代替嵌套条件
if (!nightPost(timePicker1.getValue().toString(), timePicker4.getValue().toString()) ) {
return false;
}
if ( teToTime.isAfter(LocalTime.parse("08:30",format)) ) {
textField4.setStyle("-fx-border-color: red");
return false;
}
textField4.setStyle("");
if ( !(getDifference(timeKA, timeKB) < 121 && getDifference(timeKA, timeKB) > 59) ) {
timePicker3.setStyle("-fx-border-color: red");
return false;
}
timePicker3.setStyle("");
if ( !range(timePicker1.getValue().toString(), timePicker2.getValue().toString(),
timePicker3.getValue().toString(), timePicker4.getValue().toString()) )
{
timePicker2.setStyle("-fx-border-color: orange");
return false;
}
timePicker2.setStyle("");
timePicker3.setStyle("");
if ( !increaseTxt.isBefore(LocalTime.parse("11:01",format)) ) {
textField5.setStyle("-fx-border-color: red");
return false;
}
textField5.setStyle("");
return true;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.