- Java高級程序設計實戰教程
- 戴遠泉 李超 秦爭艷
- 394字
- 2019-10-23 17:28:10
1.5 拓展訓練
良好的編碼習慣可以大大提高可讀性以及編碼效率。請讀者從一開始就養成一個良好的編碼習慣。下面,我們通過以下校驗郵件地址方法模板展示較為規范的編碼格式。
package com.test; / ** * Title: 數組數據操作 * Description: 演示一維數組和多維數組的初始化和基本操作 * Filename: myArray.java * / public class MyArray{ //初始化數組變量 char[] cNum = {'1','2','3','4','5','6','7','8','9','0'}; char[] cStr = {'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 = {"@","."}; / ** *<br>方法說明:校驗電子郵件 *<br>輸入參數:String sPara 被校驗的電子郵件字符 *<br>返回類型: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; } / ** *<br>方法說明:判斷是否是數字 *<br>輸入參數:String sPara。需要判斷的字符串 *<br>返回類型: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; } / ** *<br>方法說明:判斷是否都是英文字符 *<br>輸入參數:String sPara。要檢查的字符 *<br>返回類型:boolean。如果都是字符返回true,反之為false * / public boolean isString(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<cStr.length;j++){ if(cTemp==cStr[j]){ bTemp = true; break; } } if(!bTemp) return false; } return true; } / ** *<br>方法說明:判斷是否是閏年 *<br>輸入參數:int iPara。要判斷的年份 *<br>返回類型:boolean。如果是閏年返回true,否則返回false * / public boolean chickDay(int iPara){ return iPara%100==0&&iPara%4==0; } / ** *<br>方法說明:檢查日期格式是否正確 *<br>輸入參數:String sPara。要檢查的日期字符 *<br>返回類型:int。0為日期格式正確,-1為月或日不合要求,-2為年月日格式不正確 * / public int chickData(String sPara){ @SuppressWarnings("unused") boolean bTemp = false; //所輸入日期長度不正確 if(sPara.length()!=10) return -2; //獲取年 String sYear = sPara.substring(0,4); //判斷年是否為數字 if(!isNumber(sYear)) return -2; //獲取月份 String sMonth = sPara.substring(5,7); //判斷月份是否為數字 if(!isNumber(sMonth)) return -2; //獲取日 String sDay = sPara.substring(8,10); //判斷日是否為數字 if(!isNumber(sDay)) return -2; //將年、月、日轉換為數字 int iYear = Integer.parseInt(sYear); 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; } / ** *<br>方法說明:主方法,測試用 *<br>輸入參數: *<br>返回類型: * / public static void main(String[] arges){ MyArray mA = new MyArray(); //校驗郵件地址 boolean bMail = mA.isMail("tom@163.com"); System.out.println("1 bMail is "+bMail); bMail = mA.isMail("tom@163com"); System.out.println("2 bMail is "+bMail); //演示是否是數字 boolean bIsNum = mA.isNumber("1234"); System.out.println("1:bIsNum="+bIsNum); bIsNum = mA.isNumber("123r4"); System.out.println("2:bIsNum="+bIsNum); //演示是否是英文字符 boolean bIsStr = mA.isString("wer"); System.out.println("1:bIsStr="+bIsStr); bIsStr = mA.isString("wer3"); System.out.println("2:bIsStr="+bIsStr); //演示檢查日期 int iIsTime = mA.chickData("2003-12-98"); System.out.println("1:iIsTime="+iIsTime); iIsTime = mA.chickData("2003-111-08"); System.out.println("2:iIsTime="+iIsTime); iIsTime = mA.chickData("2003-10-08"); System.out.println("3:iIsTime="+iIsTime); iIsTime = mA.chickData("2000-02-30"); System.out.println("4:iIsTime="+iIsTime); } }
運行結果如圖1-3所示。

圖1-3 運行結果
推薦閱讀
- Learning Single:page Web Application Development
- Java Web開發學習手冊
- C語言程序設計(第3版)
- Android Studio Essentials
- 深入淺出Java虛擬機:JVM原理與實戰
- C語言程序設計基礎與實驗指導
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- Mastering C# Concurrency
- Mastering Scientific Computing with R
- 鋒利的SQL(第2版)
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- Java面向對象程序設計
- 零基礎學Scratch 3.0編程
- Learning Ionic
- AV1視頻編解碼標準:原理與算法實現