CÁC DẠNG BÀI XỬ LÝ CHUỔI THEO TCP Đếm ký tự chuỗi không tính khoảng trắng//B2: Thuc hien lang nghe tu Socket server den socket client va ket noi tu Client Socket client = server.accept;
Trang 1CÁC HÀM XỬ LÝ CHUỔI TRONG JAVA 1.Khai báo chuổi
+ Chuỗi rỗng :
String str1=new String( ); //khởi tạo str1 là một xâu trống
+ Bằng một chuỗi cho trước
String str2=new String(”Hello word”); //khởitạo str2 bằng Hello word
+ Bằng một mảng kí tự cho trước
char ch[ ]={a,b,c,d,e};
String str3=new String[ch];
+ Bằng cách chọn một vài kí tự trong một mảng kí tự cho trước
char ch[ ]={a,b,c,d,e};
String str4=new String[ch,0,2];
Kết quả str4 là xâu ”ab” , vì khởi tạo này sẽ khởi tạo xâu str4 là lấy 2 kí tự từ vị trí thứ 0
2.Kiểm trả chuỗi bắt đầu của chuỗi
String str1=new String(“Hello word”);
System.out.printf(“I want to say:”+str1);
Trang 2String str1=new String(“hoc.itop.vn”);
8 Trả về kí tự thứ 0 tính từ vị trí thư k trong xâu str1
String str1=new String(”itop.vn”);
char ch=str1.charAt(k);
9 So sánh 2 chuỗi
String str1=new String(“hello”);
String str2=new String(“ITOP”);
vídụ: String str1=new String(“kc”);
String str2=new String(“kavcb”);
12 Trả về vị trí của chuỗi str2 và str3 trong chuỗi str1.nếu không tìm thấy sẽ trả về giá trị -1
String str1=new String(“hoc.itop.vn”);
String str2=new String(“op”);
String str3=new String(“ab”);
Trang 318 Chuyển kiểu dữ liệu từ String sang số
Vídụ: String str1=new String(”124”);
int n=Integer.parseInt(str1);
kế tquả là n=124
TCP
3
Trang 4CÁC DẠNG BÀI XỬ LÝ CHUỔI THEO TCP Đếm ký tự chuỗi không tính khoảng trắng
//B2: Thuc hien lang nghe (tu Socket server den socket client) va ket noi tu Client
Socket client = server.accept();
//Thong bao lay ket noi thanh congSystem.out.println("Ket noi thanh cong");
//B3: Nhan du lieu tu may Client ve Server//B3.1: khai bao doi tuong
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
// getInputStream(): doc tu dong vao ra va luu vao bien br
//gui du lieu tu Server den ClientPrintWriter pw = new PrintWriter(client.getOutputStream());
//DataOutputStream dos = new DataOutputStream(client.getOutputStream());
//B3.2 : Doc du lieu vao st, Server nhan chuoi tu clientString st = br.readLine();//readLine() : lay du lieu xuong//B4 : Server xu ly chuoi
Trang 5System.out.println("Dong ket noi");
}public static int demtu(String st){
//B1: khai bao Socket server voi may ao cuc bo "127.0.0.1"
Socket client = new Socket("127.0.0.1",8081);
//B2: Nhan du lieu tu ban phim, khai bao doi tuong
// in: doc du lieu tu ban phim nhap vao tren System.in// br: doc du lieu tren Socket client do Server goi qua// pw : ghi du lieu cao Socket client goi cho ServerBufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//Nhan du lieu tu may ServerBufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
//
PrintWriter pw = new PrintWriter(client.getOutputStream());
//
System.out.println("Nhap chuoi can gui:");
//B3 : nhap chuoi tu ban phimString st = in.readLine();
Trang 6//B1: Khai bao Socket server voi cong la 9999ServerSocket server = new ServerSocket(9999);
// Thong bao cho ket noiSystem.out.println("Server dang cho ket noi tu Client");
//B2: Thuc hien lang nghe va ket noi tu ClientSocket client = server.accept();
//Thong bao lay ket noi thanh congSystem.out.println("Ket noi thanh cong");
//B3: Nhan du lieu tu may Client ve ServerBufferedReader brIn = new BufferedReader(new InputStreamReader(client.getInputStream()));
//gui du lieu tu Server den ClientDataOutputStream dos = new DataOutputStream(client.getOutputStream());
//Doc du lieu vao stString st = brIn.readLine();
//thong bao chuoi hien thiSystem.out.println("Da nhan duoc chuoi");
//xuat du lieu ra man hinhSystem.out.println(st);
Trang 7//doi chuoi thanh chu hoa
st = st.toUpperCase();
//B5: gui du lieu didos.writeBytes(st);
//B1: khai bao Socket server voi may ao cuc bo "127.0.0.1"
Socket client = new Socket("127.0.0.1",9999);
//B2: Nhan du lieu tu ban phimBufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Nhan du lieu tu may ServerBufferedReader brIn = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream dos = new DataOutputStream(client.getOutputStream());
System.out.println("Nhap chuoi can gui:");
Trang 8System.out.println("Xu ly doi thanh chu hoa tu Server:");
System.out.println(st);
client.close();
}catch(UnknownHostException e){
//B2: Thuc hien lang nghe (tu Socket server den socket client) va ket noi tu Client
Socket client = server.accept();
//Thong bao lay ket noi thanh congSystem.out.println("Ket noi thanh cong");
//B3: Nhan du lieu tu may Client ve Server//B3.1: khai bao doi tuong
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
// getInputStream(): doc tu dong vao ra va luu vao bien br
//gui du lieu tu Server den ClientPrintWriter pw = new PrintWriter(client.getOutputStream());
//B3.2 : Doc du lieu vao st, Server nhan chuoi tu clientString st = br.readLine();//readLine() : lay du lieu xuong//B4 : Server xu ly chuoi
String kq = daonguoc(st);
//B5: Server tra lai clientpw.write(kq);
pw.write("\n");
Trang 9StringBuffer in = new StringBuffer(st).reverse();// reverse(): phuong thuc dao nguoc bo nho
String nguoc = in.toString();// toString(): pthuc tra dia chi ve kieu chuoireturn nguoc;
//B1: khai bao Socket server voi may ao cuc bo "127.0.0.1"
Socket client = new Socket("127.0.0.1",8080);
//B2: Nhan du lieu tu ban phim, khai bao doi tuong
// in: doc du lieu tu ban phim nhap vao tren System.in// br: doc du lieu tren Socket client do Server goi qua// pw : ghi du lieu cao Socket client goi cho ServerBufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//Nhan du lieu tu may ServerBufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream());
System.out.println("Nhap chuoi can gui:");
//B3 : nhap chuoi tu ban phimString st = in.readLine();
pw.write(st);
pw.write("\n");
pw.flush();
9
Trang 10public static void main(String args[]) {
System.out.print("May chu da ket noi tu client!\n");
Socket conectionSocket = ss.accept();
BufferedReader fromClient = new BufferedReader(new InputStreamReader(conectionSocket.getInputStream()));
DataOutputStream sendToClient = new DataOutputStream(conectionSocket.getOutputStream());
while (true){
cau = fromClient.readLine();
System.out.println("Chuoi tu client goi den:"+cau);
//dao chuoiStringBuilder str= new StringBuilder(cau);
ketQua = str.reverse().toString();
sendToClient.writeBytes(ketQua + '\n');
catch(Exception e){
Trang 11BufferedReader inFormUser = new BufferedReader (new InputStreamReader(System.in));
Socket clientSocket = new Socket ("127.0.0.1", 9999);
DataOutputStream sendToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
System.out.println("Nhap vao chuoi:");
catch (Exception e){
System.out.print("He thong ko lam viec!\n");
Trang 12public static ServerSocket servsock;
public static final int PORT = 1234;
public static void main(String[] args)
{
try{
servsock = new ServerSocket(PORT);
int localPort = servsock.getLocalPort();
System.out.println("\n Server dang mo port: " +localPort+".");
}catch(IOException ioEx){
System.out.println("\n Khong mo duoc port: " +PORT);
System.exit(1);
}do{
handleClient();
}while(true);
clientsock = servsock.accept();
String hostname = clientsock.getInetAddress().getHostAddress();
String destAdd = clientsock.getInetAddress().getHostAddress();
int destPort = clientsock.getPort();
System.out.println("Chap nhan ket noi tu "+hostname+"("+destAdd+") tai port"+destPort+".");
PrintWriter out = new PrintWriter(clientsock.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientsock.getInputStream()));
while (true){
String aStr = in.readLine();
Trang 13System.out.println("\n Nhan tu client ("+hostname+") gia tri A = " +aStr);
a = Float.parseFloat(aStr);
b = Float.parseFloat(bStr);
c = Float.parseFloat(cStr);
}catch(NumberFormatException e){out.println("So khong hop le"); continue;}
if(a==0) if(b==0) if(c==0) kq="Phuong trinh vo so nghiem";
else kq="Phuong trinh vo nghiem";
else kq="Phuong trinh co nghiem x="+(-c/b);
else { double delta = b*b-4*a*c;
double x1 = (-b+Math.sqrt(delta))/(2*a);
double x2 = (-b-Math.sqrt(delta))/(2*a);
if(delta>0) kq = "Phuong trinh co 2 nghiem kep: x1=x2="+(-b/(2*a));
else kq="phuong trinh vo nghiem";
} System.out.println("Ket qua:" +kq);
out.println("ket qua tu server:" +kq);
Trang 14System.out.println("\n Khong ngat duoc ket noi");
Socket clientsock = new Socket("127.0.0.1", 1234);
PrintWriter out = new PrintWriter(clientsock.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientsock.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
System.out.print("\n Nhap vao he so A= ");
String aStr = stdIn.readLine();
Trang 15import java.lang.*;//xu ly chuoi
import java.io.*;//xu ly vao ra
import java.net.*;//day la lap trinh socket nen co goi nay
ServerSocket srvr = new ServerSocket(1234);//tao socket cua server (gan lun port)
//System.out.println("may chu dang cho ket noi tu client");
Socket skt = srvr.accept();//lang nge va cho ket noi tu client
//System.out.println("May chu da duoc ket noi!\n");
PrintWriter out = new PrintWriter(skt.getOutputStream(), true); //ghi dulieu
Socket skt1 = new Socket("localhost", 1234); //gan dc IP va port
BufferedReader in = new BufferedReader(new
InputStreamReader(skt1.getInputStream()));
System.out.print("Server: ");
while (!in.ready()) {} //doc chuoi
System.out.println(in.readLine()); // Doc mot dong va in no ra man hinh
15
Trang 16Socket skt = new Socket("localhost", 1234); //gan dc IP va port
BufferedReader in = new BufferedReader(new
InputStreamReader(skt.getInputStream()));
System.out.print("Server: ");
while (!in.ready()) {} //doc chuoi
System.out.println(in.readLine()); // Doc mot dong va in no ra man hinh
ServerSocket srvr = new ServerSocket(1234);//tao socket cua server (gan lun port)
//System.out.println("may chu dang cho ket noi tu client");
Socket skt1 = srvr.accept();//lang nge va cho ket noi tu client
//System.out.println("May chu da duoc ket noi!\n");
PrintWriter out = new PrintWriter(skt1.getOutputStream(), true); //ghi dulieu
* To change this template, choose Tools | Templates
* and open the template in the editor
*/
package kiemtrathuchanh;
import java.io.*;
import java.net.*;
Trang 17public class Server_Fibo {
static ServerSocket server;
static Socket client;
public static void main (String arg[]){
try {
server = new ServerSocket(5000);
System.out.println("Server dang khoi dong ");
client= server.accept();
System.out.println("Server da dc ket noi");
BufferedReader brIn = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream dos = new DataOutputStream(client.getOutputStream());
//dos.write(13);// ma 13 : ky tu cuoi dong`
//dos.write(10);// ma 10 : ky tu dau dong`
//int i=Timvitri(st, 1);
int result = -1;
String[] arr = st.split(",");
for (int i = 0; i < arr.length; i++) {
if(Integer.parseInt(arr[i]) == a){
result=i;
}}
}
Client_Fibo.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor
*/
package kiemtrathuchanh;
import java.io.*;
import java.net.*;
public class Client_Fibo {
static String Timvitri(String string, int x)
{
String result = "";
String[] arr = string.split(",");
17
Trang 18for (int i = 0; i < arr.length; i++) {
if(Integer.parseInt(arr[i]) == x){
result= String.valueOf(i);
return result;
}}
return "Ko tim thay so can tim";
}
public static void main(String arg[]){
try {
Socket client= new Socket("127.0.0.1",5000);
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
DataOutputStream dos= new DataOutputStream(client.getOutputStream());
BufferedReader brIn= new BufferedReader(new InputStreamReader(client.getInputStream()));
System.out.println("Nhap chuoi can gui ");
Trang 19static String ViTri(String st)
if(Integer.parseInt(arr[i]) %2 != 0){
kq=kq+arr[i]+",";
i++;
}else
i++;
}return kq;
}
public static void main(String[] args)
{
try{
ServerSocket server = new ServerSocket(1234);
System.out.println("Server: Da khoi dong may chu\n");
Socket soc= server.accept();
System.out.println("May chu da duoc ket noi");
System.err.println("Khong lam viec");
System.exit(1);
}}
Trang 20try{
Socket inComing=new Socket("localhost",1234);
System.out.println("Client: da ket noi may chu");
PrintWriter out=new PrintWriter(inComing.getOutputStream(), true );
Scanner in= new Scanner(inComing.getInputStream());
Scanner sc=new Scanner(System.in);
System.err.println("Khong tim thay may chu");
System.exit(1);
}catch(IOException e){
System.err.println("Khong the ket noi");
System.exit(1);
}}
public class server {
public static void main(String []args) throws IOException
{
//B1 : Ket Noi
ServerSocket server = new ServerSocket(8080);
Socket client = server.accept(); System.out.println("ket noi thanh cong");
//B2 : Khai bao doi tuong
BufferedReader br = new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream());
//B3 : Nhan Chuoi Tu Client
Trang 21public class client {
public static void main(String []args) throws Exception
{
//B1 : ket noi
Socket server = new Socket("127.0.0.1",8080);
System.out.println("ket Noi thanh cong");
//B2 : Khai bao doi tuong
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter pw = new PrintWriter(server.getOutputStream());
Trang 22//int kq = Integer.parseInt(br.readLine());
String kq = br.readLine();
//B6 : In ket qua ra man hinh
System.out.println("Chuyen Chu Cai Dau Thanh Chu Hoa : " + kq);
public class server {
public static void main(String []args) throws IOException
{
//B1 : Ket Noi
ServerSocket server = new ServerSocket(8080);
Socket client = server.accept(); System.out.println("ket noi thanh cong");
//B2 : Khai bao doi tuong
BufferedReader br = new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream());
//B3 : Nhan Chuoi Tu Client
char kt='A'; //Ky Tu Muon Dem
for (int i=0;i<st.length();i++)
Trang 23import java.io.*;
import java.net.*;
public class client {
public static void main(String []args) throws Exception
{
//B1 : ket noi
Socket server = new Socket("127.0.0.1",8080);
System.out.println("ket Noi thanh cong");
//B2 : Khai bao doi tuong
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter pw = new PrintWriter(server.getOutputStream());
//B6 : In ket qua ra man hinh
System.out.println("So Lan Xuat Hien Cua 1 Ky Tu Trong Chuoi : " +kq);
}
}
CẮT KÝ TỰ TRỐNG MỘT CHUỖI SERVER:
import java.io.*;
import java.net.*;
public class server {
public static void main(String [] args) throws IOException
{
//B1 : ket noi
ServerSocket server = new ServerSocket(12);
Socket client = server.accept();
//B2 : khai bao doi tuong
BufferedReader br = new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintWriter pw = new PrintWriter(client.getOutputStream());
//B3 : Nhan Chuoi Tu Client
Trang 24public class client{
public static void main(String [] args) throws IOException
PrintWriter pw = new PrintWriter(server.getOutputStream());
//B3 : Nhap Chuoi Tu Ban Phim
//B6 : In ket qua ra man hinh
System.out.println("Chuoi Sau Khi Cat La: " + st);