import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class BusinessLeave { public static String application(String location,String phonenum,String start,String end,String mode,String number) throws ParseException{ String msg=""; if(ValidLocation(location)){ if(ValidPhoneNum(phonenum)){ if(ValidSDate(start)&&ValidEDate(end,start)){ if(mode=="自驾"||mode=="火车"||mode=="飞机"){ if(ValidNum(number)) msg="提交申请"; else msg="同行人数无效"; }else msg="出行方式未选择"; }else msg="日期无效"; }else msg="联系电话无效"; }else msg="出差地无效"; return msg; } public static boolean ValidLocation(String a){ if(a!=null&&a.length()>0) return true; else return false; } public static boolean ValidPhoneNum(String num){ String regex="^1[3|4|5|7|8][0-9]{9}$"; if(num.matches(regex)) return true; else return false; } public static boolean ValidNum(String num){ String regex="[0-9]+"; if(num.matches(regex)&&Integer.valueOf(num)>0) return true; else return false; } public static boolean ValidSDate(String s) throws ParseException{ Date start=new SimpleDateFormat("yyyy-MM-dd").parse(s); Date now=new Date(); if(start.after(now)==true) return true; else return false; } public static boolean ValidEDate(String e, String s) throws ParseException{ Date start=new SimpleDateFormat("yyyy-MM-dd").parse(s); Date end=new SimpleDateFormat("yyyy-MM-dd").parse(e); Calendar c = Calendar.getInstance(); c.setTime(start); c.add(Calendar.DAY_OF_MONTH, 30); Date deadline=c.getTime(); if(end.after(start)==true&&end.before(deadline)==true) return true; else return false; } }
时间: 2024-02-14 14:36:01 浏览: 87
这是一个 Java 类 BusinessLeave,它包含了一个 application 方法和多个静态方法用于验证输入参数的合法性。application 方法接收六个参数:location(出差地点)、phonenum(联系电话)、start(出发日期)、end(返回日期)、mode(出行方式)和 number(同行人数),并返回一个提示信息 msg,用于指示申请是否提交成功。
在 application 方法中,首先通过调用 ValidLocation、ValidPhoneNum、ValidSDate 和 ValidEDate 方法来验证输入参数的合法性;如果所有参数都合法,则根据出行方式和同行人数的合法性来决定 msg 的值。如果出行方式不合法,则 msg 为 "出行方式未选择";如果同行人数不合法,则 msg 为 "同行人数无效";否则 msg 为 "提交申请"。
ValidLocation、ValidPhoneNum、ValidSDate 和 ValidEDate 方法分别用于验证出差地点、联系电话、出发日期和返回日期的合法性。其中 ValidLocation 方法只需判断出差地点是否为 null 或空字符串即可;ValidPhoneNum 方法使用正则表达式来判断联系电话是否合法;ValidNum 方法用于验证同行人数的合法性,只需判断其是否为正整数即可;ValidSDate 和 ValidEDate 方法使用 SimpleDateFormat 类将输入的日期字符串转换为 Date 对象,然后与当前日期或出发日期进行比较来判断其合法性。
总体来说,这是一个用于验证出差申请参数合法性的简单 Java 类。
阅读全文