Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
5,56 MB
Nội dung
BÀI TẬP LẬP TRÌNH JAVA CƠ BẢN Hệ: Đại học BÀI TẬP THỰC HÀNH TUẦN Nội dung thực hành: - Swing container components - Event Handling - Swing Components - Layout Manager Thiết kế thực giao diện sau: Viết chương trình hiển thị N số nguyên tố, N giá trị nhập JTextField Khi người sử dụng click vào JButton “Generate”, N số nguyên tố ghi vào JTextArea (JList) hình bên Một số nguyên tố số nguyên lớn 1, chia hết cho Thiết kế thực giao diện sau (bài tập làm nhà): BÀI TẬP THỰC HÀNH TUẦN Nội dung thực hành: Swing Advanced Controls - Thực hành đưa liệu lên JTable (JList), xử lý liệu - Thực hành TableColumn - Thực hành TableCellRenderer - Thực hành TableCellEditor Thiết kế thực giao diện sau: - Chương trình cho phép người sử dụng cập nhật liệu trực tiếp bảng Không cho phép cập nhật mã nhân viên Customize: Sao chép project sang project Hiển thị liệu JList theo dạng cột 1111 Nguyễn Hoàng Nam 26 (Tuổi) 4,500.0 $ 2222 Lê Thu Nữ 28 (Tuổi) 5,000.0 $ 3333 Hoàng Lê Nam 30 (Tuổi) 5,000.0 $ 4444 Trần Lan Nữ 27 (Tuổi) 3,500.0 $ Thiết kế thực giao diện sau (bài tập làm nhà): Thiết kế thực giao diện sau (bài tập làm nhà): - Download JDatePicker : http://sourceforge.net/projects/jdatepicker/files/Releases/1.3.x/ BÀI TẬP THỰC HÀNH TUẦN Nội dung thực hành: - Thực hành JTree - Thực hành JTabbedPane Cho class diagram: Thiết kế thực giao diện sau: - Form liệt kê danh sách phịng ban - Khi người dùng double click vào phòng ban, liệt kê danh sách nhân viên phòng ban form khác Thiết kế thực giao diện sau (bài tập làm nhà): BÀI TẬP THỰC HÀNH TUẦN Nội dung thực hành: - Thực hành IO - Thực hành Regular Expression Bài 1: Bài toán: Cho tập tin DuLieu.txt, chứa liệu thông tin sách dạng văn Dòng tiêu đề cột, dòng giá trị liệu tương ứng cho cột Mỗi giá trị dòng ngăn cách dấu “;” MaSach;TuaSach;TacGia;NamXuatBan;NhaXuatBan;SoTrang;DonGia;ISBN A001;Annotations Reflection;Jakob Jenkov;2014;Prentice Hall;420;70000;0-13-376131-1 J002;Java Enterprise;O'Reilly;2012;Prentice Hall;314;120000;0-7506-6098-8 H003;Hibernate Tutorial;Gavin King;2014;Prentice Hall;352;90000;978-0-13-37611-3 Yêu cầu: Viết chương trình đọc liệu từ tập tin, đưa lên JTable giao diện, thao tác giao diện cập nhật liệu lại file Thiết kế giao diện Hiện thực giao diện với yêu cầu sau: - Tạo file data/ DuLieu.txt project - - - Khi chương trình thực thi, đọc nội dung file cho theo dòng tách chuỗi để đưa vào tập đối tượng Sách (mỗi đối tượng Sách có thuộc tính trên) đưa vào JTable hình Chương trình khơng cho phép người sử dụng sửa liệu trực tiếp JTable Khi người sử dụng click chuột chọn dòng JTable, liệu thị component Nút Sửa: Chỉnh sửa giá trị liệu component sách chọn (không phép cập nhật mã sách) Nút Thêm: Thêm sách o Mã sách không rỗng, không trùng o Mã sách phải theo qui ước: Có ký tự đầu ký tự chữ HOA, theo sau ln có ký số o Tựa sách khơng để trống, gồm nhiều từ ngăn cách khoảng trắng Có thể có ký số, dấu -, ( ) Không chứa ký tự đặc biệt khác Ví dụ: Core Java Volume I - Fundamentals (9th Edition) o Tác giả không để trống, gồm nhiều từ ngăn cách khoảng trắng Không chứa ký số ký tự đặc biệt khác, ngoại trừ ký tự ‘ o Số trang phải số nguyên dương Nếu người dùng để trống gán giá trị mặc định o Năm xuất phải có miền giá trị từ 1900 đến năm o Đơn giá phải số dương Nếu người dùng để trống gán giá trị mặc định o ISBN em tham khảo : https://vi.wikipedia.org/wiki/ISBN Để giảm độ phức tạp, yêu cầu ISBN có mẫu dạng X-X-X-X (hoặc X-X-X-X-X) Trong đó, X chứa ký số, ký số Nút Xóa rỗng: Xóa rỗng nội dung component Nút Xóa: Xóa dịng liệu chọn Hỏi nhắc người dùng trước xóa Chức Tìm theo mã sách: Tìm kiếm sách dựa theo mã sách Khi người dùng chọn sách JComboBox, hiển thị thông tin component, tơ đen dịng vừa tìm JTable scroll tới Ghi chú: Thao tác Add, Update, Delete phải cập nhật lại file, cập nhật liệu component, hiển thị lại liệu JTable, JComboBox Chương trình phải thơng báo message cụ thể người dùng gõ liệu không phù hợp Bài 2: (Bài tập làm nhà) Viết chương trình thao tác giao diện cập nhật liệu lại file Sử dụng luồng đối tượng để đọc ghi liệu file (ObjectInputStream / ObjectOutputStream) - Khi người dùng click chuột chọn dòng JTable, hiển thị thơng tin dịng chọn JTextFields - Add: Thêm Country vào file o Không trùng tên nước o Tên nước, thủ gồm nhiều từ ngăn cách khoảng trắng, không chứa ký số ký tự đặc biệt khác o Dân số phải số nguyên dương - Clear: Xóa rỗng JTextFields, JComboBox có giá trị mặc định false - Update: Có thể sửa liệu trực tiếp ô Jtable, chỉnh sửa liệu component dịng chọn - Delete: Xóa dịng liệu chọn Hỏi nhắc người dùng trước xóa - Save: Lưu liệu xuống file (bổ sung vào giao diện) - Search: Tìm theo tên country, nhập liệu từ hộp thoại input dialog 10 - Đọc tài liệu XML, chuyển thành tập đối tượng product Mỗi đối tượng product các thuộc tính tài liệu XML Hiển thị tập đối tượng lên JTable Khi người dùng chọn phần tử JTable hiển thị thông tin chi tiết lên JTextfield Thêm product Cập nhật thuộc tính (đã có) product Cập nhật giá trị (đã có) product Xóa product Tìm kiếm thơng tin product Thêm vào giao diện nút Thêm, Lưu, Xóa, Sửa Tìm kiếm với chức tương ứng Sinh viên thêm vào vài sản phẩm để thử - Dùng StAX duyệt qua in cấu trúc file XML - Dùng StAX tìm sản phẩm có giá >600$ - Dùng StAX thêm vào sản phẩm Hiển thị tài liệu XML web browser dạng: Bài 2: (Bài tập làm nhà) Tạo tài liệu XML chứa tập sản phẩm (ít phải có sản phẩm) - Mỗi phần tử (element) sản phẩm có thuộc tính (attribute): Mã sản phẩm (bắt buộc phải có) - Mỗi phần tử sản phẩm cịn có phần tử con: tên sản phẩm, đơn vị tính, số lượng tồn đơn giá (khơng thiết phải tuân theo thứ tự) Tạo file DTD mô tả văn phạm cho tài liệu XML Tạo file XML Schema để mô tả văn phạm cho tài liệu Dùng DOM parser: - Xóa tất Empty text node có tài liệu XML - Xóa tài liệu XML sản phẩm biết mã sản phẩm - Cập nhật đơn giá sản phẩm biết mã sản phẩm - Thêm vào tài liệu XML sản phẩm Chỉnh sửa văn phạm trên, bổ sung thêm thuộc tính trạng thái sản phẩm (tùy chọn – khơng bắt buộc phải có) - Dùng DOM parser cập nhật trạng thái sản phẩm biết mã sản phẩm 19 (Kết việc thêm xóa sửa phải lưu vào file result.xml xuất hình để kiểm thử) Cây hiển thị tài liệu XML – em dùng phần mềm XMLNotepad để mở tài liệu XML tạo để quan sát Lưu ý: Đây hiển thị thơi, cịn thực tạo nhớ (DOM parser) thêm node empty text node, điều muốn tinh chỉnh để thuận tiện việc tạo tài liệu XML khơng thể bắt ép phải viết dòng Chúng ta viết phương thức để loại bỏ tất empty text node trước phân tích tài liệu XML DOM Parser 20 Bài 3: (Bài tập làm nhà) Cho tài liệu XML sau: Hoàng Lan 0903555777 12 Lê Lợi Q.Gò vấp Hòa Hùng 083544754 12 Lê Lai Q.Gò vấp Tạo file XML schema để mô tả văn phạm cho tài liệu XML theo mô tả sau: - Danh sách hóa đơn (orderlist) có hóa đơn (order) - Hóa đơn gồm thuộc tính: Mã hóa đơn (orderid), ngày lập hóa đơn (orderdate) o hóa đơn phải khách hàng (customer) Thông tin khách hàng gồm: Tên (name), điện thoại (phone) địa (address) o hóa đơn mua nhiều sản phẩm phải có sản phẩm o sản phẩm lập hóa đơn cho khách hàng (lineitem) gồm thông tin sau: Mã sản phẩm (id), tên sản phẩm (name), đơn giá (price), số lượng (quantity), đơn vị tính (unit) o Mã hóa đơn ln gồm ký tự o Số lượng phải số nguyên dương > Dùng SAX Parser để đọc tài liệu XML cho in mẫu: 21 22 BÀI TẬP THỰC HÀNH TUẦN Nội dung thực hành: - Kết nối CSDL - Các câu lệnh xử lý liệu JDBC : CRUD - JDBC ResultSet Bài 1: Làm demontraction kết nối CSDL thực thi phương thức đối tượng Statement, PrepareStatement: executeQuery, executeUpdate, executeBatch Bài 2: Dùng hệ quản trị sở liệu SQL Server, tạo CSDL với bảng sau: Tạo project ngôn ngữ lập trình java thực cơng việc sau: - Kết nối với CSDL hiển thị thông tin lên JFrame hình sau: - Khi nhấn nút Thêm 23 - Nhấn Hủy Lưu, sau thực xong tạc vụ khôi phục giao diện trở lại ban đầu Tương tự cho nút Sửa Khi nhấn nút “Xem danh sách sinh viên lớp tại”, cửa sổ sau xuất hiển thị sinh viên thuộc lớp đựoc chọn 24 Bài 3: Master – Details Form Với sở liệu 2, thiết kế thực form theo hình sau: 25 Bài 4: (Bài tập nhà) - Hệ quản trị CSDL SQL Server: Chuẩn bị CSDL theo mô hình sau: - Nhập liệu: INSERT INTO employees VALUES (1,'Doe','John','john.doe@foo.com', 'HR', 55000.00); INSERT INTO employees VALUES (2,'Public','Mary','mary.public@foo.com', 'Engineering', 75000.00); INSERT INTO employees VALUES (3,'Queue','Susan','susan.queue@foo.com', 'Legal', 130000.00); INSERT INTO employees INSERT INTO employees INSERT INTO employees VALUES (4,'Williams','David','david.williams@foo.com', 'HR', 120000.00); VALUES (5,'Johnson','Lisa','lisa.johnson@foo.com', 'Engineering', 50000.00); VALUES (6,'Smith','Paul','paul.smith@foo.com', 'Legal', 100000.00); INSERT INTO employees INSERT INTO employees INSERT INTO employees VALUES (7,'Adams','Carl','carl.adams@foo.com', 'HR', 50000.00); VALUES (8,'Brown','Bill','bill.brown@foo.com', 'Engineering', 50000.00); VALUES (9,'Thomas','Susan','susan.thomas@foo.com', 'Legal', 80000.00); INSERT INTO employees INSERT INTO employees INSERT INTO employees VALUES (10,'Davis','John','john.davis@foo.com', 'HR', 45000.00); VALUES (11,'Fowler','Mary','mary.fowler@foo.com', 'Engineering', 65000.00); VALUES (12,'Waters','David','david.waters@foo.com', 'Legal', 90000.00); INSERT INTO users (id,last_name,first_name,email) VALUES (1,'Alpha','Joe','joe.alpha@foo.com'); INSERT INTO users (id,last_name,first_name,email) VALUES (2,'Beta','Jane','jane.beta@foo.com'); INSERT INTO users (id,last_name,first_name,email) VALUES (3,'Zeta','Becky','becky.zeta@foo.com'); Tạo project ngơn ngữ lập trình java thực cơng việc sau: - Khi chạy chương trình: yêu cầu xác định usename password 26 - Sau đăng nhập thành công: - Với nút “Search”: - Khi click nút “Add Employee”: 27 - Khi click nút “Update Employee”: - Khi click nút “View History”: 28 BÀI TẬP THỰC HÀNH TUẦN Nội dung thực hành: - Swing Menu Components - Using Callable Statements - Call Stored Procedures that take parameters o No parameter o IN parameters o INOUT parameters o OUT parameters o Return a result set - Transaction Bài 1: - Làm lại tập tuần 8: Bằng cách chuyển tất câu SQL sang thủ tục hàm - Đối với nút sửa: Cho phép sửa thông tin đối tượng tồn tại, đối tượng sửa thơng tin nhiều lần Khi sửa thơng tin đối tượng phải lưu trữ mẫu tin cũ trước sửa vào bảng Backup Bảng Backup có khóa id (kiểu int, tự động tăng) thuộc tính đối tượng Lưu ý: Hai công việc phải thực thành công Nếu công việc không thành công khơng thực cơng việc Bài 2: (Bài tập nhà) Mở rộng tập tuần CSDL với bảng sau: 29 Tạo project ngơn ngữ lập trình java thực công việc sau: - Tạo kết nối với CSDL JFrame nạp lên - Đóng kết nối với CSDL người dùng đóng JFrame - Java Application, với giao diện sau: 30 BÀI TẬP THỰC HÀNH TUẦN 10 Nội dung thực hành: - Using Metadata Bài 1: Viết chương trình cho phép kết nối vào database MS SQL server sau lấy danh sách bảng hiển thị lên JTree Khi người dùng chọn phần tử JTree: Table hiển thị cấu trúc đồng thời hiển thị liệu Nếu người dụng chọn StoredProcedure hiển thị nội dung câu sql tạo storedproc Viết Form cho phép người dùng gõ vào câu SQL cho thực thi câu SQL 31 Bài 2: Làm kiểm tra thực hành mẫu Họ, Tên SV: ………………………….Mã số SV: ……… … Kí tên:…………Số máy/ Phịng máy: … …………… Sinh viên điền đầy đủ thông tin, để lại đề thi bàn phím Sinh viên phép dùng tài liệu in giấy có ghi rõ họ tên Tạo folder có tên [họ tên sinh viên]_[mã số sinh viên] ổ đĩa T: Dùng java IDE, tạo project thư mục Tên project bắt buộc theo qui ước sau: [họ tên sinh viên]_[mã số sinh viên]_ [số máy] Nếu sinh viên không tuân thủ qui định làm sinh viên bị điểm khơng Bài tốn: Xử lý chức quản lý thí sinh chương trình đào tạo Mỗi thí sinh có số báo danh nhất, xác định thơng tin thí sinh Điểm thi lý thuyết điểm thi thực hành có miền giá trị từ 10 I Tạo CSDL có tên tên sinh viên Tạo cấu trúc bảng cho bên dưới, nhập mẫu tin vào bảng này, lưu script vừa tạo vào thư mục sql project: II Thiết kế giao diện, kết nối với CSDL thực chương trình (3đ) Khi chương trình chạy, nạp thí sinh CSDL lên table, giao diện sau: (2đ) Thêm đối tượng Thí sinh Khi click nút “Thêm”, giao diện sau: 32 Nhập thơng tin đối tượng Thí sinh, click nút “Lưu” thêm thí sinh vào CSDL (3đ) Sửa thơng tin đối tượng thí sinh tồn tại, thí sinh sửa thơng tin nhiều lần Khi click nút “Sửa”, giao diện sau: Nhập thông tin cần sửa Click nút “Lưu” cập nhật thơng tin thí sinh vào CSDL, phải lưu trữ mẫu tin cũ trước sửa vào bảng Backup Bảng Backup có khóa id (kiểu int, tự động tăng) thuộc tính thí sinh Lưu ý: Hai công việc phải thực thành công Nếu cơng việc khơng thành cơng không thực công việc Lưu ý cho câu câu 3: Click hủy lưu thành công khôi phục giao diện trước (1đ) Khi người dùng chọn dòng table, nội dung dòng chọn thị textfield (1đ) Xóa đối tượng thí sinh tồn Khi click nút “Xóa”, xóa CSDL dịng liệu chọn table Ghi chú: - Điểm trung bình = (Điểm lý thuyết + Điểm thực hành) / Mọi tác vụ sau thực thành công, phải cập nhật liệu textfield, hiển thị lại liệu table Chương trình phải kiểm tra tính hợp lệ liệu, thơng báo message cụ thể Câu 3: Nếu cập nhật mà khơng backup điểm tối đa 33