Kết quả kiểm tra tính nguyên tố của hai số

Một phần của tài liệu lap_trinh_mang (Trang 109 - 111)

Ví dụ 7-3. Viết chương trình xử lý xâu ký tự sử dụng kỹ thuật lập trình RMI.

Các chức năng xử lý xâu gồm có: chuyển thành xâu in thường, chuyển thành xâu in hoa, chuẩn hóa xâu (xóa các dấu cách thừa), đếm số từ của xâu. Các phương thức xử lý xâu được triệu gọi từ xa.

Bước 1: Tạo 2 project RMI_XuLyXau_Client và RMI_XuLyXau_Server.

Bước 2: Trong project RMI_XuLyXau_Server tạo một package đặt tên là Core.

Trong package này tạo một interface đặt tên là StringInterface như sau: public interface StringInterface extends Remote{

public String lower(String st) throws RemoteException; public String upper(String st) throws RemoteException;

public String standardize(String st) throws RemoteException; public int countWord(String st) throws RemoteException; }

Sao chép package Core sang project RMI_XuLyXau_Client.

Bước 3: Hiện thực StringInterface. Trong project RMI_XuLyXau_Server

tạo một package mới đặt tên là RMI. Trong package này tạo một lớp mới đặt tên là

StringClass.

Hiện thực hóa interface trong lớp này như sau:

public class StringClass extends UnicastRemoteObject implements StringInterface{

//Constructor

public StringClass() throws RemoteException { }

@Override

public String upper(String st) throws RemoteException { return st.toUpperCase();

}

@Override

public String lower(String st) throws RemoteException { return st.toLowerCase();

}

@Override

public String standardize(String st) throws RemoteException { String result = st.trim();

while (result.contains(" ")) { result = result.replace(" ", " "); } return result; } @Override

public int countWord(String st) throws RemoteException { String str = this.standardize(st);

int count=0;

if (str.equals("")) { return count;

count = 1; }

for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == ' ') { count++; } } return count; } }

Bước 4: Lập trình cho Server. Trong package RMI tạo class đặt tên là Server.

Chúng ta tạo một Registry trên cổng bất kỳ (chẳng hạn 3210) rồi ràng buộc (bind) một StringService cho một đối tượng thuộc lớp StringClass trên đó.

public class Server {

private final int PORT = 3210;

public static void main(String[] args) { new Server().run();

}

public void run() { try {

Registry reg = LocateRegistry.createRegistry(PORT); reg.rebind("StringService", new StringClass()); System.out.println("M‡y chủ đang chạy..."); } catch (RemoteException ex) {

System.out.println("Kh™ng thể khởi chạy m‡y chủ!!!"); }

} }

Bước 5: Lập trình cho Client. Trong project RMI_XuLyXau_Client tạo một

package đặt tên là RMI. Trong package này tạo một JFrame Form đặt tên là Client. Thiết kế giao diện cho Client như sau:

Một phần của tài liệu lap_trinh_mang (Trang 109 - 111)

Tải bản đầy đủ (PDF)

(114 trang)