首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

[JAVA100例] 003 - 陣列資料操作與驗證工具

     編輯:Java 程式設計入門

範例封裝常用字元陣列(數字、英文字母、月份天數、郵件特徵符號),實作郵件格式驗證、純數字判斷、純英文判斷、閏年判斷、日期格式驗證(含閏年 2 月處理)等實用工具方法。

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 = {"@", "."};

    public boolean isMail(String sPara) {
        for (int i = 0; i < sMail.length; i++)
            if (sPara.indexOf(sMail[i]) == -1) return false;
        return true;
    }

    public boolean isNumber(String sPara) {
        for (int i = 0; i < sPara.length(); 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;
    }

    public boolean isString(String sPara) {
        for (int i = 0; i < sPara.length(); 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;
    }

    public boolean chickDay(int iPara) {
        return iPara % 100 == 0 && iPara % 4 == 0;
    }

    public int chickData(String sPara) {
        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 -1;
        } else {
            if (iDay > iMonth[iMon-1]) return -1;
        }
        return 0;
    }

    public static void main(String[] arges) {
        myArray mA = new myArray();
        System.out.println("1 bMail is " + mA.isMail("tom@163.com"));
        System.out.println("2 bMail is " + mA.isMail("tom@163com"));
        System.out.println("1 bIsNum=" + mA.isNumber("1234"));
        System.out.println("2 bIsNum=" + mA.isNumber("123r4"));
        System.out.println("1 bIsStr=" + mA.isString("wer"));
        System.out.println("2 bIsStr=" + mA.isString("wer3"));
        System.out.println("1 iIsTime=" + mA.chickData("2003-12-98"));
        System.out.println("2 iIsTime=" + mA.chickData("2003-111-08"));
        System.out.println("3 iIsTime=" + mA.chickData("2003-10-08"));
        System.out.println("4 iIsTime=" + mA.chickData("2000-02-30"));
    }
}

主程式測試各驗證方法,輸出真假結果與日期驗證代碼(0=正確,-1=月日錯誤,-2=格式錯誤)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved