/**
* Title:数组数据的操作 Description:一维数组的初始化和操作
*
* @author fan
*
*/
public class MyArray {
char[] cNum = { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };
char[] sStr = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
'z' };
int[] iMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
String[] sMail = {"@",".","com"};
/**
* 方法说明:简单电子邮件验证
* @param sPara 被检验的电子邮件
* @return boolean 如果符合电子邮件格式返回true,否则返回false
*/
public boolean isMail(String sPara){
for(int i = 0; i < sMail.length; i++){
if(sPara.indexOf(sMail[i]) == -1){
return false;
}
}
return true;
}
/**
* 方法说明:判断是否是数字
* @param sPara 要进行判断的数字
* @return boolean 是数字返回true,否则返回false
*/
public boolean isNumber(String sPara){
int iPLength = sPara.length();
for(int i = 0; i < iPLength; i++){
char cTemp = sPara.charAt(i);
boolean bTemp = false;
for(int j = 0; j < cNum.length; j++){
if(cTemp == cNum[j]){
bTemp = true;
break;
}
}
if(!bTemp){
return false;
}
}
return true;
}
/**
* 方法说明:判断用户输入的字符串是否为英文单词
* @param sPara 要进行判断的字符串
* @return boolean 是英文单词返回true,否则返回false
*/
public boolean isEnglishWord(String sPara){
int iPLength = sPara.length();
for(int i = 0; i < iPLength; i++){
char cTemp = sPara.charAt(i);
boolean bTemp = false;
for(int j = 0; j < sStr.length; j++){
if(cTemp == sStr[j]){
bTemp = true;
break;
}
}
if(!bTemp){
return false;
}
}
return true;
}
/**
* 方法说明:判断是否是闰年
* 方法思路:首先该年份能被4整除接着再看若该年份能被100整除那么它也应能被400整除
* @param iPara
* @return
*/
public boolean isLeapYear(int iPara){
if(iPara % 4 != 0){
return false;
}else{
if(iPara % 100 == 0 && iPara % 400 != 0){
return false;
}
}
return true;
}
/**
* 判断输入的年份日期是否合适
* @param date 要进行判断的年份
* @return boolean 是合法年份返回true否则返回false
*/
public boolean checkData(String date){
//判断输入日期的格式是否正确
if(date.length() != 10){
print("输入日期格式不正确");
return false;
}
String year = date.substring(0, 4);
String month = date.substring(5, 7);
String day = date.substring(8, 10);
if(!this.isNumber(year)){
this.print("年份不对");
return false;
}
if(!this.isNumber(month)){
this.print("月份不对");
return false;
}
if(!this.isNumber(day)){
this.print("日子不对");
return false;
}
int iYear = Integer.parseInt(year);
int iMonth = Integer.parseInt(month);
int iDay = Integer.parseInt(day);
if(iYear < 0){
print("年份不对");
return false;
}
if(iMonth > 12 || iMonth < 0){
this.print("月份不对");
return false;
}
if(iDay > 31 || iDay < 0){
this.print("日子不对");
return false;
}else{
//大小月的判断
if((iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11) && iDay > 30){
print("日子不对");
return false;
}
//2月的判断
if(iMonth == 2){
if(isLeapYear(iYear)){
if(iDay > 28){
print("日子不对");
return false;
}
}else{
if(iDay > 29){
print("日子不对");
return false;
}
}
}
}
return true;
}
/**
* 方法说明:打印信息
* @param opera 要打印的信息
*/
public void printResult(boolean res, Object opera ,String content){
if(res){
this.print(opera+" is correct " + content + " format");
}else{
this.print(opera+" is incorrect " + content + " format");
}
}
/**
* 打印信息
* @param opera:打印信息的内容
*/
public void print(Object opera){
System.out.println(opera);
}
/**
* 方法说明:主方法
* @param args
*/
public static void main(String[] args){
MyArray mArr = new MyArray();
//检查邮箱格式
String tEmail1 = "tom@163.com";
String tEmail2 = "tom163com";
mArr.printResult(mArr.isMail(tEmail2), tEmail2, "email");
mArr.printResult(mArr.isMail(tEmail1), tEmail1, "email");
//检查单词拼写
String tWord1 = "lifan0408";
String tWord2 = "lifan";
mArr.printResult(mArr.isEnglishWord(tWord1), tWord1, "word");
mArr.printResult(mArr.isEnglishWord(tWord2), tWord2, "word");
//判断是否为闰年
int tYear = 2012;
mArr.printResult(mArr.isLeapYear(tYear), tYear, "Leap Year");
//判断输入的年份是否真确
String date = "2012-02-29";
mArr.printResult(mArr.checkData(date), date, "Date");
}
}
分享到:
相关推荐
a) 随机生成一个一维数组,数组元素个数可设置。 b) 对数组值进行求和、标准差、平均数、中位数。 c) 数组元素升序、降序排列 d) 插入、删除数组元素值 e) 输出各计算值
该资源给出了Matlab中关于三维数组的相关操作,包括:访问三维数组中的元素,取三维数组中每个二维矩阵的对角线元素,三维数组转置,对三维数组中每层的二维矩阵进行求和,对三维数组中每层的二维矩阵进行平均值计算...
数组应用——一维数组排序; 定义一组无序的整型数列,共10个数值,经过一定的处理,使该数组由大到小排列,并输出到屏幕上。具体要求如下: 定义int型数组arrayorder并赋初值为0,长度为10,以承载该数列; 使用...
二维数组基本操作的编程实现 要求: 二维数组基本操作的编程实现(2学时,验证型),掌握数组的建立、读取数据、压缩存储等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励...
一维数组操作,搜索一维数组中相同的值,字符串leixing
数组操作常见问题 数组脚标越界异常(ArrayIndexOutOfBoundsException) int[] arr = new int[2]; System.out.println(arr[3]); 访问到了数组中的不存在的脚标时发生。 空指针异常(NullPointerException) ...
一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组 a = np.array([[1,2,3]]); b = np.array([[1],[2],[3]]); print a.shape//(1,3) ...
7.1.1 一维数组与常用操作.py7.1.1 一维数组与常用操作.py7.1.1 一维数组与常用操作.py7.1.1 一维数组与常用操作.py7.1.1 一维数组与常用操作.py7.1.1 一维数组与常用操作.py7.1.1 一维数组与常用操作.py
主要介绍了java实现二维数组转json的方法,涉及java数组遍历及json格式数据构造相关操作技巧,需要的朋友可以参考下
任务:编写方法实现下列一维数组的基本操作 数组作为方法的形参 任务1、使用随机数初始化一个整型数组 任务2、显示一个整型数组中的所有元素 任务3、对数组元素求平均 任务4、将数组内容反向存储 1、使用随机数初始...
vc+ 用指针实现二维数组的转置,通过指针实现对二维数组的转置操作
主要介绍了PHP实现一维数组转二维数组的方法,实例分析了php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
通过二维数组实现,不是位操作,实现了一次迭代,东软的童鞋你们懂得...
实际中,经常需要用到对数组的操作,特别是一维数组、二维数组操作,labview中提供了搜索一维数组函数,但是没有提供搜索二维数组。本文章主要实现对字符串二维数组的搜索并返回指定内容。
本文介绍了一个使用MATLAB创建和操作三维数组的示例,示例包括以下内容: 如何创建一个三维数组; 如何访问和修改三维数组的元素;...搜索并学习其他高级的三维数组操作技巧,拓宽知识广度和深度。
三维数组是MATLAB中的一种数据类型,它可以存储三维数据,类似于3D图形。 在MATLAB中,三维数组的元素可以是任何数据类型,包括数字、字符串、结构体、cell数组等。 可以使用不同的函数来创建、操作、访问和处理三...
C# 维数组转换为DataTable 的三个方法 来了解用C# 操作excel数据转变到dataset 进而到datatable的方式
java100例之实例3 演示一维数组和多维数组的初始化和基本操作.rar
一个一维数组实现两个栈的操作,头尾开始,节省空间