Tải bản đầy đủ (.doc) (13 trang)

Bài Tập Lập Trình Mạng - Bùi Tiến Cường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (72.89 KB, 13 trang )

Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Bài 1 : Kết Nối TCP Sử Dụng Socket, chuẩn gửi nhận SỐ - SỐ
Trang Máy Chủ :

import java.io.*;
import java.net.*;
class TCPSS
{
public static void main(String[] args) throws Exception
{
int port = 2812;
ServerSocket server = new ServerSocket(port);
Socket client = server.accept();
BufferedReader br = new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream());
String st = br.readLine();
double so = Double.parseDouble(st);
double kqD = XuLy(so);
String kqS = String.valueOf(kqD);
pw.write(kqS + "\n");
pw.flush();
pw.close();
br.close();
client.close();
server.close();
}
public static double XuLy(double so)


{
return Math.pow(so,3);
}
}
/>
-1-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Trang Máy Khách :

import java.io.*;
import java.net.*;
class TCPCS
{
public static void main(String[] args) throws Exception
{
int portS = 2812;
InetAddress ipS = InetAddress.getByName("localhost");
Socket server = new Socket(ipS,portS);
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new
InputStreamReader(server.getInputStream()));
PrintWriter pw = new PrintWriter(server.getOutputStream());
System.out.print("Nhap so bat ky : ");
double so = Double.parseDouble(in.readLine());

String st = String.valueOf(so);
pw.write(st+"\n");
pw.flush();
String kqS = br.readLine();
double kqD = Double.parseDouble(kqS);
System.out.println("Lap Phuong So = " + kqD);
pw.close();
br.close();
in.close();
server.close();
}
}

/>
-2-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Bài 2 : Kết Nối TCP Sử Dụng Socket, gửi nhận CHUỖI – CHUỖI
Trang Máy Chủ :

import java.io.*;
import java.net.*;
class TCPSC
{
public static void main(String[] args) throws Exception
{

int port = 2812;
ServerSocket server = new ServerSocket(port);
Socket client = server.accept();
BufferedReader br = new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream());
String st = br.readLine();
String kq = XuLy(st);
pw.write(kq + "\n");
pw.flush();
pw.close();
br.close();
client.close();
server.close();
}
public static String XuLy(String st)
{
return st.toUpperCase();
}
}

/>
-3-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Trang Máy Khách :


import java.io.*;
import java.net.*;
class TCPCC
{
public static void main(String[] args) throws Exception
{
int portS = 2812;
InetAddress ipS = InetAddress.getByName("localhost");
Socket server = new Socket(ipS,portS);
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new
InputStreamReader(server.getInputStream()));
PrintWriter pw = new PrintWriter(server.getOutputStream());
System.out.print("Nhap chuoi bat ky : ");
String st = in.readLine();
pw.write(st+"\n");
pw.flush();
String kq = br.readLine();
System.out.println("Chuoi Hoa : " + kq);
pw.close();
br.close();
in.close();
server.close();
}
}

/>
-4-



Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Bài 3 : Kết Nối UDP Sử Dụng Socket, chuẩn gửi nhận SỐ - SỐ
import java.io.*;
import java.net.*;
class UDPSS
{
public static void main(String[] args) throws Exception
{
int port = 2812;
DatagramSocket socket = new DatagramSocket(port);
DatagramPacket packet;
byte []data;
try
{
data = new byte[1024];
packet = new DatagramPacket(data,data.length);
socket.receive(packet);
String st = new String(packet.getData(),0,packet.getLength());
double so = Double.parseDouble(st);
InetAddress ipC = packet.getAddress();
int portC = packet.getPort();
double kqD = XuLy(so);
String kqS = String.valueOf(kqD);
data = kqS.getBytes();
packet = new DatagramPacket(data,data.length,ipC,portC);

socket.send(packet);
socket.close();
}
catch (UnknownHostException evt)
{
evt.printStackTrace();
}
}
public static double XuLy(double so)
{
return Math.sqrt(so);
}
}
/>
-5-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Trang Máy Khách :

import java.io.*;
import java.net.*;
class UDPCS
{
public static void main(String[] args) throws Exception
{
DatagramSocket socket = new DatagramSocket();

DatagramPacket packet;
byte []data;
InetAddress ipS = InetAddress.getByName("localhost");
int portS = 2812;
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Nhap so bat ky : ");
double so = Double.parseDouble(in.readLine());
String st = String.valueOf(so);
data = st.getBytes();
packet = new DatagramPacket(data,data.length,ipS,portS);
socket.send(packet);
data = new byte[1024];
packet = new DatagramPacket(data,data.length);
socket.receive(packet);
String kqS = new String(packet.getData(),0,packet.getLength());
double kqD = Double.parseDouble(kqS);
System.out.println("Can Bac Hai Tinh Duoc : " + kqD);
socket.close();
}
}

/>
-6-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường


Bài 4 : Kết Nối UDP Sử Dụng Socket, gửi nhận CHUỖI – CHUỖI
class UDPSC
{
public static void main(String[] args) throws Exception
{
int port = 2812;
DatagramSocket socket = new DatagramSocket(port);
DatagramPacket packet;
byte []data;
try
{
data = new byte[1024];
packet = new DatagramPacket(data,data.length);
socket.receive(packet);
String st = new String(packet.getData(),0,packet.getLength());
InetAddress ipC = packet.getAddress();
int portC = packet.getPort();
String kq = XuLy(st);
data = kq.getBytes();
packet = new DatagramPacket(data,data.length,ipC,portC);
socket.send(packet);
socket.close();
}
catch (UnknownHostException evt)
{
evt.printStackTrace();
}
}
public static String XuLy(String st)
{

st = st.trim();
while (st.indexOf(" ")>=0)
{
st = st.replaceAll(" "," ");
}
return st;
}
}
/>
-7-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Trang Máy Khách :

import java.io.*;
import java.net.*;
class UDPCC
{
public static void main(String[] args) throws Exception
{
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet;
byte []data;
InetAddress ipS = InetAddress.getByName("localhost");
int portS = 2812;
BufferedReader in = new BufferedReader(new

InputStreamReader(System.in));
System.out.print("Nhap chuoi bat ky : ");
String st = in.readLine();
data = st.getBytes();
packet = new DatagramPacket(data,data.length,ipS,portS);
socket.send(packet);
data = new byte[1024];
packet = new DatagramPacket(data,data.length);
socket.receive(packet);
String kq = new String(packet.getData(),0,packet.getLength());
System.out.println("Chuoi Ket Qua Tu May Chu : " + kq);
socket.close();
}
}

/>
-8-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Tổng Hợp Một Số Hàm Xử Lý
A, hàm chuẩn hoá chuỗi, kết quả trả về là 1 chuỗi sau khi đã chuẩn hoá :
public static String ChuanHoa(String st)
{
st=st.trim();
while (st.indexOf(" ")>=0)
{

st=st.replaceAll(" "," ");
}
st = st.toLowerCase();
String[] ARR=st.split(" ");
for (int i = 0; i < ARR.length; i++)
ARR[i]=ARR[i].substring(0, 1).toUpperCase().concat(ARR[i].substring(1));

st="";
for (int i = 0; i < ARR.length-1; i++)
st=st.concat(ARR[i])+" ";
st=st.concat(ARR[ARR.length-1]);
return st;
}
B, Hàm đảo ngược chuỗi :
public static String DaoNguoc(String st)
{
StringBuffer temp = new StringBuffer(st);
return temp.reverse().toString();
}
C, Hàm đếm số ký tự trong chuỗi (khơng tính dấu cách) :
public static int DemKyTu(String st)
{
int dem=0;
for (int i=0; iif (st.charAt(i)!=' ')
dem = dem + 1;
return dem;
}

/>

-9-


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

Trường hợp tính cả dấu cách
public static int DemKyTu(String st)
{
return st.length();
}
D, Hàm đếm số từ trong chuỗi (chuỗi đã chuẩn hoá) :
public static int DemTu(String st)
{
String[] temp;
temp = st.split(" ");
return temp.length;
}
Trường hợp chuỗi chưa chuẩn hóa:
public static int DemTuTrongChuoiKhongChuanHoa(String st)
{
int dem;
if (st.charAt(0)!=' ')
dem = 1;
else
dem = 0;
for (int i=0;i{
if (st.charAt(i)==' ' && st.charAt(i+1)!=' ')

{
dem++;
}
}
return dem;
}

/>
- 10 -


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

E, Đếm số lần xuất hiện của các ký tự hoa trong chuỗi :
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='A') || (st.charAt(i)<='Z'))
dem++;
return dem;
}
Đếm số lần xuất hiện của các ký tự thường trong chuỗi :
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='a') || (st.charAt(i)<='z'))

dem++;
return dem;
}
Đếm số lần xuất hiện là các ký tự trong chuỗi (không phân biệt hoa thường, không
đếm số):
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='A') || (st.charAt(i)<='z'))
dem++;
return dem;
}
F, Đếm số lần xuất hiện các ký tự là chữ số trong chuỗi :
public static int DemSoKyTuHoa(String st)
{
int dem = 0;
for (int i=0;iif ((st.charAt(i)<='0') || (st.charAt(i)<='9'))
dem++;
return dem;
}

/>
- 11 -


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường


G, Đếm số lần xuất hiện của 1 chuỗi tìm trong chuỗi :
public static int DemSoLanXuatHienTu(String st,String sTim)
{
int dem=0;
for (int i=0;i<=st.length()-sTim.length();i++)
if (sTim.equalsIgnoreCase(st.substring(i,i+sTim.length())))
dem++;
return dem;
}
Đếm số lần xuất hiện của 1 ký tự (dấu cách) trong chuỗi :
public static int DemKT(String st)
{
int dem = 0;
char kt='A'; //ký tự muốn đếm, hoặc dấu cách
for (int i=0;iif (kt==st.charAt(i))
dem++;
return dem;
}
H, Thay thế toàn bộ chuỗi Tìm bằng chuỗi Thay Thế :
public static String ThayThe(String st, String sTim, String sThayThe)
{
st = st.replaceAll(sTim,sThayThe);
return st;
}
I, Trường hợp thay thế ký tự tìm bằng ký tự thay thế
public static String ThayTheKyTu(String st, char kTim, char kThayThe)
{
st = st.replace(kTim,kThayThe);

return st;
}

/>
- 12 -


Bài Tập Lập Trình Mạng

Biên soạn : GV Bùi Tiến Trường

J, Kiểm tra chuỗi có tồn số hay khơng?
public static boolean ktChuoiSo(String str)
{
for(int i=0;iif((str.charAt(i)<'0')||(str.charAt(i)> '9'))
return false;
return true;
}
K, Biến chuỗi thành chuỗi chữ hoa
public static String ChuoiHoa(String str)
{
return str.toUpperCase();
}
L, Biến chuỗi thành chuỗi chữ thường
public static String ChuoiThuong(String str)
{
return str.toLowerCase();
}
M, Biến chữ cái đầu sau dấu cách thành chữ hoa :

public static String ChuHoaDau(String st)
{
if (st.charAt(0)!=' ')
{
st = st.substring(0,1).toUpperCase().concat(st.substring(1));
}
for (int i=0;iif (st.charAt(i)==' ')
{
int vt = i+1;
String st1 = st.substring(0,vt);
String st2 = st.substring(vt,vt+1).toUpperCase();
String st3 = st.substring(vt+1);
st = st1.concat(st2.concat(st3));
}
return st;
}

/>
- 13 -



×