`

一维数组操作

阅读更多
/**
 * 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");
		
	}
	
}

 

分享到:
评论

相关推荐

    C# 一维数组操作

    a) 随机生成一个一维数组,数组元素个数可设置。 b) 对数组值进行求和、标准差、平均数、中位数。 c) 数组元素升序、降序排列 d) 插入、删除数组元素值 e) 输出各计算值

    Matlab三维数组操作大全(运行需更改文件名称)

    该资源给出了Matlab中关于三维数组的相关操作,包括:访问三维数组中的元素,取三维数组中每个二维矩阵的对角线元素,三维数组转置,对三维数组中每层的二维矩阵进行求和,对三维数组中每层的二维矩阵进行平均值计算...

    数组应用——一维数组排序

    数组应用——一维数组排序; 定义一组无序的整型数列,共10个数值,经过一定的处理,使该数组由大到小排列,并输出到屏幕上。具体要求如下: 定义int型数组arrayorder并赋初值为0,长度为10,以承载该数列; 使用...

    实验四 二维数组基本操作的编程实现

    二维数组基本操作的编程实现 要求: 二维数组基本操作的编程实现(2学时,验证型),掌握数组的建立、读取数据、压缩存储等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励...

    搜索一维数组中相同的值

    一维数组操作,搜索一维数组中相同的值,字符串leixing

    函数、内存、一维数组、二维数组

    数组操作常见问题  数组脚标越界异常(ArrayIndexOutOfBoundsException) int[] arr = new int[2]; System.out.println(arr[3]); 访问到了数组中的不存在的脚标时发生。  空指针异常(NullPointerException) ...

    Python numpy实现二维数组和一维数组拼接的方法

    一维数组 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 一维数组与常用操作.py

    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的方法,涉及java数组遍历及json格式数据构造相关操作技巧,需要的朋友可以参考下

    Java程序设计基础:一维数组应用数组作为方法形参.pptx

    任务:编写方法实现下列一维数组的基本操作 数组作为方法的形参 任务1、使用随机数初始化一个整型数组 任务2、显示一个整型数组中的所有元素 任务3、对数组元素求平均 任务4、将数组内容反向存储 1、使用随机数初始...

    用指针实现二维数组的转置

    vc+ 用指针实现二维数组的转置,通过指针实现对二维数组的转置操作

    PHP实现一维数组转二维数组的方法

    主要介绍了PHP实现一维数组转二维数组的方法,实例分析了php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    DES加密算法 C实现 二维数组

    通过二维数组实现,不是位操作,实现了一次迭代,东软的童鞋你们懂得...

    labview学习笔记7:labview二维数组搜索匹配

    实际中,经常需要用到对数组的操作,特别是一维数组、二维数组操作,labview中提供了搜索一维数组函数,但是没有提供搜索二维数组。本文章主要实现对字符串二维数组的搜索并返回指定内容。

    MATLAB 三维数组示例.md

    本文介绍了一个使用MATLAB创建和操作三维数组的示例,示例包括以下内容: 如何创建一个三维数组; 如何访问和修改三维数组的元素;...搜索并学习其他高级的三维数组操作技巧,拓宽知识广度和深度。

    MATLAB-三维数组.docx

    三维数组是MATLAB中的一种数据类型,它可以存储三维数据,类似于3D图形。 在MATLAB中,三维数组的元素可以是任何数据类型,包括数字、字符串、结构体、cell数组等。 可以使用不同的函数来创建、操作、访问和处理三...

    C# 维数组转换为DataTable 的三个方法

    C# 维数组转换为DataTable 的三个方法 来了解用C# 操作excel数据转变到dataset 进而到datatable的方式

    实例3 演示一维数组和多维数组的初始化和基本操作

    java100例之实例3 演示一维数组和多维数组的初始化和基本操作.rar

    一个一维数组实现两个栈的操作

    一个一维数组实现两个栈的操作,头尾开始,节省空间

Global site tag (gtag.js) - Google Analytics