官术网_书友最值得收藏!

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 運行結果

主站蜘蛛池模板: 东丽区| 福海县| 洛南县| 长丰县| 宝丰县| 济阳县| 大理市| 平安县| 聂荣县| 旬邑县| 深水埗区| 额济纳旗| 丰镇市| 长汀县| 晋江市| 金堂县| 京山县| 合川市| 沙坪坝区| 泊头市| 昂仁县| 安仁县| 进贤县| 太仆寺旗| 清原| 渭南市| 南平市| 阜康市| 莲花县| 绥江县| 南昌市| 子洲县| 汝阳县| 古交市| 九江县| 邯郸市| 祁阳县| 班玛县| 金山区| 南雄市| 泾川县|