Mục Lục
Mục Lục
Exception & Collection Video Tìm hiểu exception + debug + package - lập trình Java Nâng Cao Video Tìm hiểu collections, Sets, Maps và Generic - lập trình java nâng cao Chương trình quản lý sinh viên bằng HashMap - Java Advanced Bài tập ôn luyện String, StringBuilder, StringBuffer - Java Advanced Bài tập Exception trong Java File Video Hướng dẫn đọc ghi file FileInputStream, FileOutputStream, ObjectInputStream trong java - lập trình java nâng cao File - Quản lý thông tin sinh viên Quản lý thông tin sinh & lưu object file - Java nâng cao Video Quản lý thông tin sinh & lưu object file - Java nâng cao Video Bài tập quản lý bán vé máy bay - java nâng cao Thread Video Tìm hiểu Thread trong Java - Phần 2 - lập trình java nâng cao Thread thực hiện in ngẫu nhiên các số nguyên và ký tự Video Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - Phần 1 Video Thread thực hiện in ngẫu nhiên các số nguyên và ký tự & Đông bộ thread + wait notify + synchronized + Java nâng cao - Phần 2 Sử dụng MultiThreading sinh ký tự a-zA-Z trong java CSDL Video Kết nối CSDL bằng java swing phần 1 - lập trình java nâng cao Design Pattern & Đa Ngôn Ngữ Video Hướng dẫn tìm hiểu đệ quy qua bài Fibonaci - Recursion Fibonaci - Java Phân chia mảng số nguyên thành 2 phần + chắc + lẻ Video Phân chia mảng số nguyên thành 2 phần + chắc + lẻ Video Design Pattern lập trình java nâng cao - lập trình java nâng cao Bài tập - Chương trình quản lý sách - lập trình đa ngôn ngữ - Khoá học lập trình Java nâng cao XML & JSON & CSDL Video Tìm hiểu XML & Hướng dẫn phân tích tài liệu XML quản lý lớp học bằng Java XML: Viết chương trình phân tích tài liệu XML thông tin cá nhân bằng Java Video - Hướng dẫn tạo dự án quản lý sinh viên + import + export XML File XML: Java Swing|FX Quản lý thông tin cá nhân Profile bằng java - import + export XML File Video Json/Gson & Java - Phân tích dữ liệu lớp học JSON bằng Java -Ứng dụng quản lý lớp học Java nâng cao Video gson trong Java - Vi dụ json trong java - Bài tập quản lý sản phẩm + json trong Java JSON: Tạo JSON file & đọc nội dung JSON file thông tin cá nhân bằng Java Bài tập - Nhập thông tin sinh viên từ JSON vào CSDL - Lập trình Java nâng cao. Mini Project - Phân tích dự án + Phát triển phần mềm ATM Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java Video C1 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java Video C2 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java Bài tập - Viết chương trình quản lý tiêm chủng Vacxin COVID-19 - Lập trình Java nâng cao. Bài tập - Viết tools hỗ trợ đọc logs bằng Java Bài tập - Viết chương trình quản lý sinh viên XML - JSON - Lập trình Java Quản lý sinh viên + XML + JSON + MySQL bằng Java Video Quản lý sinh viên + XML + JSON + MySQL bằng Java Ôn Tập Tổng Quát & Exmination Bài tập luyện thi Java2 Bài thi Java 2
Java Advanced

Bài tập ôn luyện tổng hợp File, OOP, Thread trong java

A.           Tạo Class Student .                                                             

a.    Có trường thuộc tính: String studRollNo.

b.    Xây dựng các phương thức get/set cho thuộc tính và hàm tạo có tham số để truyền giá trị cho thuộc tính trên

B.           Tạo ứng dụng đa luồng sử dụng cơ chế wait–notify làm công việc sau:

 

-      Thread1 :                                                                          

o   Sử dụng BufferedReader để mở file “students.txt”  

§  File “students.txt” lưu trữ roll number của các sinh viên, mỗi roll Trên 1 dòng.

§  Roll number hợp lệ có mẫu như sau:

·         abbbbdebbbb

·         Trong đó

o   a là khóa học, có giá trị hoặc là: ‘C’, ‘T’, ‘N’

o   b là số trong khoảng 0-9

o   d là giờ học của lớp, có giá trị hoặc là: ‘G’, ‘H’ , ‘I’, ‘K’, ‘L’, ‘M’

o   e là kiểu lớp học. e có thể không có giá trị hoặc chỉ có 1 giá trị là ‘V’

·         Ví dụ:

o   C1009H0001 là hợp lệ

o   T0812KV0002 là hợp lệ

o   TT0812KV0002 là không hợp lệ

o   C1009H00012 là không hợp lệ

o   C10030003 là không hợp lệ

o   C1103T004 là không hợp lệ

o   G1103T004 là không hợp lệ

§  Một roll hợp lệ được dùng để tạo ra 1 đối tượng sinh viên (sử dụng hàm tạo có tham số) và sau đó được add vào 1 collection tên là validRollNumber sử dụng generic là kiểu Student , Sau đó chuyển công việc qua Thread2.                       

§  Một roll không hợp lệ được add liên tiếp vào 1 collection tên là unvalidRollNumber có kiểu generic là String, Sau đó chuyển công việc qua Thread3.                                      

§  validRollNumber và unvalidRollNumber collection được khai báo trong Class SharedData được sử dụng trong ứng dụng đa luồng cho phép có thể thao tác đồng thời trên dữ liệu của chúng.

-      Thread2 :

Ngay lập tức sau khi có 1 sinh viên được add vào collection validRollNumber.

o   Thread2 lấy thông tin sinh viên vừa được add vào collection ra để hiển thị và có 1 dòng thông báo liền kề sau đó là độ dài hiện tại của collection validRollNumber.

§  Ví dụ                                                  

·         "Welcome student has roll number is :…"

·         “Valid collection has length :…”

o   Đồng thời Thread2 ghi đối tượng sinh viên này xuống file xxx.dat       

§  Trong đó: xxx là roll number của sinh viên.

·         Ví dụ: C1009H0001.dat hoặc T0812KV0002.dat

 

-      Thread3:

Ngay sau khi 1 roll number không hợp lệ được add vào collection unvalidRollNumber  .

o   Thread3 lấy nó ra và hiển thị dưới dạng:

§  "Unvalid roll number :…" 

o    Đồng thời ghi xuống file unvalid.txt , file unvalid.txt có nhiều dòng, mỗi dòng ghi một roll number không hợp lệ



Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó

×