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

Java 字符串處理實戰練習:文件名驗證、郵箱格式校驗、字符統計與分類計數

     編輯:Java 綜合教學

Java 字符串處理實戰練習

字符串操作是業務開發高頻基礎。本文提供四個經典練習:Java 文件名後綴驗證、郵箱格式簡易校驗、指定字符出現次數統計、字符串中大小寫字母與其他字符分類計數,附帶完整代碼與運行結果分析。

一、驗證 Java 文件名與郵箱格式

需求

  • 合法 Java 文件名:以 .java 結尾,且 . 不能位於首位。
  • 合法郵箱:包含 @,且 @ 在 . 之前。

實現代碼

public class StringValidationDemo {
    public static void main(String[] args) {
        String fileName = "HelloWorld.jav"; // 故意錯誤
        String email = "user@example.com";

        // 1. 文件名驗證
        int dotIdx = fileName.lastIndexOf('.');
        String suffix = (dotIdx > 0) ? fileName.substring(dotIdx) : "";
        if (dotIdx > 0 && ".java".equals(suffix)) {
            System.out.println("Java文件名正確");
        } else {
            System.out.println("Java文件名無效");
        }

        // 2. 郵箱驗證
        int atIdx = email.indexOf('@');
        int dotIdx2 = email.indexOf('.');
        if (atIdx != -1 && dotIdx2 > atIdx) {
            System.out.println("郵箱格式正確");
        } else {
            System.out.println("郵箱格式無效");
        }
    }
}

運行結果

Java文件名無效
郵箱格式正確

運行結果截圖

二、統計指定字符出現次數

需求

統計字符串中字符 'a' 出現的次數。

實現

public class CharCountDemo {
    public static void main(String[] args) {
        String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";
        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'a') count++;
        }
        System.out.println("字符 'a' 出現次數: " + count);
    }
}

三、字符分類計數:大寫、小寫、其他

需求

輸出字符串中大寫字母、小寫字母、其他字符的個數。

實現

public class CharTypeCountDemo {
    public static void main(String[] args) {
        String s = "ABAabb$&^$#BAAb898B#@%aa";
        int upper = 0, lower = 0, other = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c >= 'A' && c <= 'Z') upper++;
            else if (c >= 'a' && c <= 'z') lower++;
            else other++;
        }
        System.out.println("總長度: " + s.length());
        System.out.println("大寫字母: " + upper);
        System.out.println("小寫字母: " + lower);
        System.out.println("其他字符: " + other);
    }
}

運行結果

總長度: 24
大寫字母: 7
小寫字母: 10
其他字符: 7

分類計數結果

四、進階擴展建議

  1. 正則表達式:郵箱驗證生產環境建議用 Pattern.compile(regex).matcher(email).matches(),支援 RFC 5322 完整規範。
  2. Stream API:JDK 8+ 可用 s.chars().filter(c -> c == 'a').count() 簡化統計。
  3. Character 工具類:Character.isUpperCase(c)、isLowerCase(c)、isDigit(c) 替代手動範圍判斷,支援 Unicode。
  4. 性能優化:超長字符串可用 char[] 直接遍歷,避免 charAt 邊界檢查開銷。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved