java小程序,判断输入的年份是否合法,动态输入,高手进 java小程序,判断输入的年份是否合法,动态输入,用args[]判断,不用什么其他的类请高手编一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Wo{ public static void main(String[] args) { //int i; boolean A(int args[0]) { if((args[0]%4==0&&args[0]%100!=0)||(args[0]%4==0&&args[0]%400==0)) return true; else return false; } boolean B(int args[0],int args[1],int args[2]) { if(args[1] > 12 || args[1] < 1) return false; int nmaxday; switch(args[1]) { case 4: case 6: case 9: case 11: nmaxday=30; break; case2: if(B(args[0])) nmaxday=29; else nmaxday = 28; break; default: nmaxday=31; if(args[2]>nmaxday) return false; return true; } }}}我写的程序,不知道哪错了,请高手指正 你可以写javascript,在页面检验就可以了呀 ? class TestDate{ static boolean isLeapYear(int aYear) //判断是否是闰年,不考虑年份的负值之类的 { if ( (aYear%4==0 && aYear%100!=0) || (aYear%400==0) ){ return true; } return false; } static boolean isAvailabilityMonth(int aMonth) //判断月份是否正确 { return (aMonth <13 && aMonth > 0) ? true : false ; } static boolean isAvailabilityDay(int aYear,int aMonth,int aDay) //判断日期是否有效 { int nmaxday; if (!isAvailabilityMonth(aMonth)) return false ; switch(aMonth) { case 4: case 6: case 9: case 11: nmaxday=30; break; case 2: if(isLeapYear(aYear)){ nmaxday=29; } else { nmaxday = 28; } break; default: nmaxday=31; } if(aDay > nmaxday || aDay < 1 ){ return false; } return true; } public static void main(String args[]){ if ( args.length == 3) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); int day = Integer.parseInt(args[2]); if (isAvailabilityDay(year , month , day )){ System.out.println("输入的日期正确") ; }else{ System.out.println("输入的日期不正确") ; } }else{ System.out.println("输入的参数不为三个") ; } } }其实就是在你的程序基础上改得。用1000.2.29 和 2000.2.29 测试一下。你原来的程序,把判断闰年的函数以及把判断日期的函数写到main函数里了,这是不对的。另外,有些地方,比较用 == 写成了= 。还有输入的args参数是String ,而你比较日期年份时,方法的参数是int,因此需要转换一下。慢慢写,尝试读一些编译时提示的错误,然后查一查,进步会比较大。 orangemike() 谢谢你,你有QQ吗,我想加你 /*return( if(aMonth <13 && aMonth > 0)return true; else return false; );*/这么写对吗 java 判断日期的正则表达式java 判断日期的正则表达式:此例为Struts中的应用,格式为:2006-10-01 private boolean Check() { if( theForm.getStarttime()!= ""&&!"".equals(theForm.getStarttime())&&theForm.getEndtime()!= ""&&!"".equals(theForm.getEndtime())) { boolean b=theForm.getStarttime().matches("[1-9][0-9]{3}\\-(0[0-9]|1[0-2])\\-(0[0-9]|1[0-9]|2[0-9]|3[0-1])"); boolean bn=theForm.getEndtime().matches("[1-9][0-9]{3}\\-(0[0-9]|1[0-2])\\-(0[0-9]|1[0-9]|2[0-9]|3[0-1])"); if(!b){msg = "日期格式错误!!!" ; return false ; } if(!bn){msg = "日期格式错误!!!" ; return false ; } } return true ; } 新手问题。 求一个算法 求助:在连接服务器成功后,该怎样向服务器发送命令?用httptypeconnect该怎么做? 怎么没人讨论concurrent programming啊 关于java线程里的一个问题. 请问在win98环境下j2sdk1.4.2该怎么配置?100分在线等!急!!!! java程序怎么在别的机子上运行? 菜鸟提几个关于java的基本问题 在java里是怎么实现一个方法返回多个参数的? 大企业的算法面试题,等你来挑战。 几个小问题,简单的,关于break什么的 新手请教:为什么我编译有的.java程序时报错找不到类?
{ public static void main(String[] args)
{ //int i;
boolean A(int args[0])
{
if((args[0]%4==0&&args[0]%100!=0)||(args[0]%4==0&&args[0]%400==0))
return true;
else
return false;
}
boolean B(int args[0],int args[1],int args[2])
{
if(args[1] > 12 || args[1] < 1)
return false;
int nmaxday;
switch(args[1])
{
case 4:
case 6:
case 9:
case 11:
nmaxday=30;
break;
case2:
if(B(args[0]))
nmaxday=29;
else nmaxday = 28;
break;
default:
nmaxday=31;
if(args[2]>nmaxday)
return false;
return true; }
}
}
}
我写的程序,不知道哪错了,请高手指正
{
static boolean isLeapYear(int aYear) //判断是否是闰年,不考虑年份的负值之类的
{
if ( (aYear%4==0 && aYear%100!=0) || (aYear%400==0) ){
return true;
} return false;
}
static boolean isAvailabilityMonth(int aMonth) //判断月份是否正确
{
return (aMonth <13 && aMonth > 0) ? true : false ;
}
static boolean isAvailabilityDay(int aYear,int aMonth,int aDay) //判断日期是否有效
{
int nmaxday;
if (!isAvailabilityMonth(aMonth)) return false ;
switch(aMonth)
{
case 4:
case 6:
case 9:
case 11:
nmaxday=30;
break;
case 2:
if(isLeapYear(aYear)){
nmaxday=29;
} else {
nmaxday = 28;
}
break;
default:
nmaxday=31;
}
if(aDay > nmaxday || aDay < 1 ){
return false;
}
return true;
} public static void main(String args[]){ if ( args.length == 3) {
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
int day = Integer.parseInt(args[2]);
if (isAvailabilityDay(year , month , day )){
System.out.println("输入的日期正确") ;
}else{
System.out.println("输入的日期不正确") ;
}
}else{
System.out.println("输入的参数不为三个") ;
}
}
}
其实就是在你的程序基础上改得。用1000.2.29 和 2000.2.29 测试一下。
你原来的程序,把判断闰年的函数以及把判断日期的函数写到main函数里了,这是不对的。另外,有些地方,比较用 == 写成了= 。还有输入的args参数是String ,而你比较日期年份时,方法的参数是int,因此需要转换一下。
慢慢写,尝试读一些编译时提示的错误,然后查一查,进步会比较大。
if(aMonth <13 && aMonth > 0)return true;
else return false;
);*/
这么写对吗
java 判断日期的正则表达式:
此例为Struts中的应用,格式为:2006-10-01
private boolean Check()
{
if( theForm.getStarttime()!= ""&&!"".equals(theForm.getStarttime())&&theForm.getEndtime()!= ""&&!"".equals(theForm.getEndtime()))
{
boolean b=theForm.getStarttime().matches("[1-9][0-9]{3}\\-(0[0-9]|1[0-2])\\-(0[0-9]|1[0-9]|2[0-9]|3[0-1])");
boolean bn=theForm.getEndtime().matches("[1-9][0-9]{3}\\-(0[0-9]|1[0-2])\\-(0[0-9]|1[0-9]|2[0-9]|3[0-1])");
if(!b){msg = "日期格式错误!!!" ;
return false ;
}
if(!bn){msg = "日期格式错误!!!" ;
return false ;
}
}
return true ;
}