Kiểm tra định dạng số điện thoại trong Java



Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Java xây dựng lớp PhoneException biểu diễn lỗi số điện thoại không hợp lệ. Viết chương trình nhập vào một số điện thoại (dạng chuỗi số), nếu số điện thoại không hợp lệ thì chương trình thông báo lỗi.
Yêu cầu kiến thức:

  • Kiến thức về lớp con kế thừa lớp cha. Ở đây tôi sẽ thiết kế thông báo lỗi bằng cách xây dựng 1 lớp sinh ra thông báo lỗi, lớp này được kế thừa từ lớp Exception.
  • Xác định kiểu dữ liệu cho các hàm và các biến cần sử dụng.
  • Kiến thức về biểu thức chính quy (Regular Expression).

Cấu trúc thư mục:
src
|——phoneException
   |——PhoneException.java
|——phoneCheck
   |——PhoneCheck.java
|——using
   |——MainClass.java
Code tham khảo dưới đây được viết trên JDK ver 8.x:
File PhoneException.java:


package phoneException;

public class PhoneException extends Exception {
    // Ham khoi tao
    public PhoneException(String str) {
        super(str);
    }
}

File PhoneException.java:


package phoneCheck;

import phoneException.PhoneException;

public class PhoneCheck {
    // Ham kiem tra dinh dang so dien thoai
    public void checkPhone(String str) throws PhoneException {
        // Bieu thuc chinh quy mo ta dinh dang so dien thoai
        String reg = "^(0|\\+84)(\\s|\\.)?((3[2-9])|(5[689])|(7[06-9])|(8[1-689])|(9[0-46-9]))(\\d)(\\s|\\.)?(\\d{3})(\\s|\\.)?(\\d{3})$";

        // Kiem tra dinh dang
        boolean kt = str.matches(reg);

        if (kt == false) {
            throw new PhoneException("Loi: Khong dung dinh dang!");
        } else {
            System.out.println("Dung dinh dang so dien thoai!");
        }
    }
}

File PhoneException.java:


package using;

import phoneCheck.PhoneCheck;
import phoneException.PhoneException;

import java.util.Scanner;

public class MainClass {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // Khai bao doi tuong
        PhoneCheck phoneCheck = new PhoneCheck();

        // Nhap du lieu
        System.out.print("Nhap vao chuoi so dien thoai: ");
        String str = sc.nextLine();

        // Kiem tra dinh dang
        try {
            phoneCheck.checkPhone(str);
        } catch (PhoneException ex) {
            System.out.println(ex.getMessage());
        }

        sc.close();
    }
}


Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình Java từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây

Có thể bạn sẽ thích…

Trả lời

EnglishVietnamese