Java数组数据的操作之检查日期格式是否正确

createh51个月前 (02-01)技术教程11

程序源代码

/**

*

Title:数组数据的操作

*@author author

*version 0.1

*/

public class myArray034

{

//初始化数组变量

char[] cNum = {'1','2','3','4','5','6','7','8','9','0'};

int[] iMonth={31,28,31,30,31,30,31,31,30,31,30,31};

/**

*
方法说明:判断是否是数字

*
输入参数:String sPara。 需要判断的字符串

*
返回类型:boolean。如果都是数字类型,返回true;否则返回false

*/

public boolean isNumber(String sPara){

int iPLength = sPara.length();

for(int i=0;i

char cTemp = sPara.charAt(i);

boolean bTemp = false;

for(int j=0;j

if(cTemp==cNum[j]){

bTemp = true;

break;

}

}

if(!bTemp) return false;

}

return true;

}

/**

*
方法说明:判断是否是闰年

*
输入参数:int iPara。要判断的年份

*
返回类型:boolean。如果是闰年返回true,否则返回false

*/

public boolean chickDay(int iPara){

return iPara%100==0&&iPara%4==0;

}

/**

*
方法说明:检查日期格式是否正确

*
输入参数:String sPara。要检查的日期字符

*
返回类型:int 0 日期格式正确,-1月或这日不合要求,-2年月日格式不正确

*/

public int chickData(String sPara){

boolean bTemp = false;

//所输入日期长度不正确

if(sPara.length()!=10)return -2;

//获取年

String sYear = sPara.substring(0,4);

//用方法substring截取sPara中从0开始至4结束时的字符串,并将其赋值给sYear;

//判断年是否为数字

if(!isNumber(sYear))return -2;

//获取月份

String sMonth = sPara.substring(5,7);

//用方法substring截取sPara中从5开始至7结束时的字符串,并将其赋值给sMonth;

//判断月份是否为数字

if(!isNumber(sMonth))return -2;

// 获取日

String sDay = sPara.substring(8,10);

//判断日是否为数字

if(isNumber(sDay))return -2;

//将年,月,日转换为数字

int iYear = Integer.parseInt(sYear);

//Integer.parseInt方法:作用将字符串参数作为有符号的十进制整数进行解析

int iMon = Integer.parseInt(sMonth);

int iDay = Integer.parseInt(sDay);

if(iMon>12)return -1;

//闰年二月处理

if(iMon==2&&chickDay(iYear)){

if(iDay>29)return 2;}else{if(iDay>iMonth[iMon-1]) return -1;}

return 0;

}

/**

*
方法说明:主程序

*
输入参数:

*
返回类型

*/

public static void main(String[] arges){

myArray mA = new myArray();

System.out.println("0 日期格式正确,-1 月或这日不合要求, -2 年月日格式不正确 ");

System.out.println("2003-12-89");

int iIsTime = mA.chickData("2003-12-89");

System.out.println("1:iIsTime="+iIsTime);

System.out.println("2003-111-08");

iIsTime = mA.chickData("2003-111-08");

System.out.println("2:iIsTime="+iIsTime);

System.out.println("2003-10-08");

iIsTime = mA.chickData("2003-10-08");

System.out.println("3:iIsTime="+iIsTime);

System.out.println("2000-02-30");

iIsTime = mA.chickData("2000-02-30");

System.out.println("4:iIsTime="+iIsTime);

}

}

运行结果图:

相关文章

AutoHotKey(简称ahk)中的对象和数组

AutoHotKey(简称ahk)中的对象和数组本篇说明的是AHK中的对象数组,在编写一些稍微复杂的代码时,必不可少需要一种能够组织数据的容器,如果每个数据都不得不创建一个变量,用起来会很麻烦,而且看...

阿里开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS

机器之心报道参与:一鸣、Jamin近来,有越来越多的深度学习框架开始面向移动端进行发展。近日,阿里也基于其 MNN 推理引擎开源了最新的 MNNKit 深度学习 SDK,安卓和 iOS 开发者都可以方...

Oracle探究_JAVA存储过程_开发指引《中》

HLS HLS/MD1201.5 返回PLSQL集合变量有一种业务场景是在主逻辑处理完后需要返回多个数据。结合JAVA不能类似PLSQL存储过程有OUT参数,只能开发返回函数形式的Method,以下将...

详解Java安全——安全管理器、访问控制器和类装载器

安全管理器:SecurityManager安全管理器在Java语言中的作用就是检查操作是否有权限执行。是Java沙箱的基础组件。我们一般所说的打开沙箱,也是加-Djava.security.manag...