Tải bản đầy đủ (.pdf) (46 trang)

BÀI TẬP JAVA CÓ HƯỚNG DẪN

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 (2.46 MB, 46 trang )

1

Module/môn: Lập trình Java 3

Số hiệu assignment: 1/1

Người điều phối của FPT Polytechnic:
BằngTC

Ngày ban hành:

% điểm: 60%

Bài assignment này đòi hỏi sinh viên phải dùng khoảng 35h làm để hoàn thành
Tương ứng với mục tiêu môn học:

Gian lận là hình thức lấy bài làm của người khác và sử dụng như là mình làm ra. Hình thức đó
bao gồm những hành động như: copy thông tin trực tiếp từ trang web hay sách mà không ghi rõ
nguồn tham khảo trong tài liệu; gửi bài assignment làm chung như là thành quả cá nhân; copy bài
assignment của các sinh viên khác cùng khóa hay khác khóa; ăn trộm hay mua bài assignment
của ai đó và gửi lên như là sản phẩm mình làm ra. Những sinh viên bị nghi ngờ gian lận sẽ bị điều
tra và nếu phát hiện là có gian lận thì sẽ phải chịu các mức phạt theo quy định của Nhà trường.
Mọi tài nguyên copy hay điều chế từ bất cứ nguồn nào (VD: Internet, sách) phải được đặt
trong cặp dấu nháy kép và in nghiêng, với thông tin tham khảo đầy đủ về nguồn tài liệu.
Bài làm của bạn sẽ được đưa vào phần mềm kiểm tra gian lận. Mọi hình thức cố tình đánh
lừa hệ thống phát hiện gian lận sẽ bị coi là Vi phạm quy định thi cử.

Quy định nộp bài assignment








Một bản mềm kết quả bài làm assignment của bạn phải được upload trước nửa đêm (giờ
địa phương) vào ngày hạn nộp. Quá hạn nộp hệ thống sẽ khóa lại và sinh viên không còn
quyền nộp bài.
Phiên bản upload lên cuối cùng sẽ được chấm điểm. Sinh viên có quyền upload đè file
nhiều lần trước khi hết hạn nộp.
Tất cả những file tài liệu văn bản phải để ở dạng file gốc chứ không file dạng file được
xuất ra từ định dạng khác (ví dụ pdf được xuất từ doc). Không được gửi tài liệu văn bản
dưới dạng ảnh chụp.
Đối với bài assignment này bạn cũng phải đưa các bằng chứng hay sản phẩm khác vào
trong file nén dạng zip.
Kích thước file cần tuân thủ theo giới hạn trên hệ thống nộp bài (thông thường là <50M).
Hãy đảm bảo các file được upload lên không bị nhiễm virus (điều này có thể dẫn đến file
bị hệ thống xóa mất) và không đặt mật khẩu mở file. Nếu vi phạm những điều này, bài
coi như chưa được nộp.

SOF203 – Lập trình Java 3

Assignment


2




Hãy chú ý xem thông báo sau khi upload để chắc chắn bài của bạn đã được nộp lên hệ

thống chưa.
Bạn không phải gửi lại file đề bài của assignment (file này).

Quy định đánh giá bài assignment
1. Sinh viên không có bài assignment trên hệ thống sẽ bị 0 điểm bài assignment.
2. Sau hạn nộp bài một tuần, sinh viên nộp muộn có quyền nộp đơn kiến nghị xin được chấp
nhận gia hạn nộp. Hội đồng Nhà trường sẽ xét duyệt từng trường hợp. Nếu kiến nghị
không được chấp nhận, bài giữ nguyên điểm 0. Nếu quá một tuần không có kiến nghị thì
bài cũng sinh viên không nộp mặc nhiên nhận điểm 0.
3. Ngay cả trường hợp bài của sinh viên bị phát hiện gian lận sau khi có điểm, sinh viên sẽ
không được công nhận bài đó và chịu mức kỷ luật như quy định của Nhà trường.
========================

Assignment
Lập trình JAVA – Thiết kế theo mô hình MVC
Mục tiêu cụ thể

Sau bài assignment này , sinh viên cần đặt được:
- Hiểu về cấu trúc chung của JAVA GUI
- Thành thạo thiết kế giao diện bằng NETBEAN, kết nối CSDL
- Có đầy đủ kiến thức và kỹ năng để thiết kế các ứng dụng JAVA đơn
giản…

Các công cụ cần có

Tài nguyên

-

Jdk

NetBean
Eclipse
MS SQL server 2008 hoặc MySQL

Thư mục tài nguyên đi kèm

ĐẶT VẤN ĐỀ
Trường cao đẳng FPT Polytechnic sử dụng một phần mềm nghiệp vụ đào tạo để quản lý sinh viên
và quá trình học tập của sinh viên. Hãy xây dựng một chương trình JAVA mô phỏng các chức
năng đơn giản của chương trình nghiệp vụ đào tạo của trường cao đẳng Fpt Poly với những yêu
cầu như sau:
- Chương trình có chức năng đăng nhập
- Các user được chia làm hai loại là: giảng viên và cán bộ đào tạo
- Khi đăng nhập user giảng viên, nếu đăng nhập thành công sẽ hiện ra Chức năng quản lý
điểm, cho phép nhập điểm, sửa điểm, xóa điểm cho các sinh viên đã có trong trường
- Khi đăng nhập user cán bộ đào tạo, sẽ hiện ra Chức năng quản lý sinh viên, gồm những
chức năng, thêm mới một sinh viên, xóa sinh viên
- Mỗi khi giảng viên cập nhật điểm cho sinh viên, chương trình sẽ tính lại điểm trung bình
của mỗi sinh viên, đồng thời hiển thị danh sách 3 sinh viên có điểm tổng kết cao nhất của
mỗi môn học

SOF203 – Lập trình Java 3

Assignment


3

YÊU CẦU
Y1. Xây dựng giao diện chương trình

1. Cài đặt Netbean
2. Tạo một form đăng nhập gồm username , password và một nút login
Ví dụ:

3. Giao diện chức năng Quản lý điểm
4. Giao diện chức năng quản lý sinh viên
Y2. Giao diện các Message thông báo
1. Message đăng nhập thành công

2. Message đăng nhập thất bại

3. Message báo lỗi, nếu cán bộ đào tạo thêm một sinh viên có mã sinh viên trùng lặp

với dữ liệu đã có

Y3. Xây dựng cơ sở dữ liệu FPL_ĐàoTạo
1. Thông tin người dùng được lưu trong bảng users
2. Có ít nhất các cột: username, password,chức năng
3. Thông tin Sinh viên được lưu trong bảng students gồm ít nhất các cột: Mã_SV,
họ_và_tên,
4. Bảng điểm của sinh viên được lưu trong bảng Grade gồm các cột: Mã_SV,điểm Tiếng
Anh, Điểm Tin học, Điểm GDTC

SOF203 – Lập trình Java 3

Assignment


4


Y4. Điều khiển
1. Mỗi khi click vào nút Login, chương trình phải kiểm tra thông tin đăng nhập có đúng
không, nếu đúng thông báo thành công, nếu sai thông báo đăng nhập sai
2. Giảng viên chỉ có thể nhập điểm không thể thêm mới sinh viên
3. Cán bộ đào tạo chỉ có thể thêm mới sinh viên, không thể nhập điểm
4. Mỗi khi giảng viên cập nhật điểm cho sinh viên, chương trình sẽ tính lại điểm trung bình
của mỗi sinh viên, đồng thời hiển thị danh sách 3 sinh viên có điểm tổng kết cao nhất
của mỗi môn học
Y5. Xây dựng chương trình theo mô hình MVC
Sơ đồ các lớp

MÔ TẢ SẢN PHẨM PHẢI NỘP
1. Thư mục chứa Project
2. File dữ liệu đã nhập một số nhân viên
Đóng gói tất cả các sản phẩm trên thành một file nén theo định dạng
JAVA3_MãSV_Assignment.zip để đưa lên hệ thống LMS theo yêu cầu của giảng viên. Lưu ý về
cách đặt tên

THANG ĐÁNH GIÁ

A

-

Đáp ứng Y5

70%‐100%)

SOF203 – Lập trình Java 3


Assignment


5

-

Đáp ứng Y3, Y4

-

Đáp ứng Y1, Y2

-

Không đặt tên, đóng gói không theo chuẩn yêu cầu.

B
60%‐
69%
(đáp ứng phong
cách thiết kế)

C
50%‐
59%

TRƯỢT

-


< 50%
(không đáp ứng
yêu cầu nộp bài)

SOF203 – Lập trình Java 3

Assignment


Bài 1. Tạo một ứng dụng SWING cơ bản
1. Trong NetBeans, chọn New Projects, đặt tên cho Projects là lab1, nhớ bỏ chọn nút “Creat Main Class”
 Finish

2. Chuột phải vào Source Package, chọn như hình

Đặt tên là bài1  Finish
3. Chuột phải vào bài 1, chọn như hình

SOF203 – Lập trình Java 3

Lab 1


Đặt tên là Jframe_canban

4. Extent Jframe

 Xuất hiện báo lỗi màu đỏ  Bấm Alt-Enter để hiển thị thông báo lỗi và gợi ý
 Lỗi này là chưa import thư viện cho Jframe

 Chọn “Add import for javax.swing.jframe
 hết báo lỗi
5. Khai báo phương thức main trong class JFrame_canban
“public static void main(String[] args)”
Hoặc có thể dùng phím tắt psvm – bấm phím Tab

SOF203 – Lập trình Java 3

Lab 1


Tạo một thực thể JFrame_canban

Tạo phương thức JFrame_canban

Như vậy ta đã tạo được một JFrame, hãy nhấn Shirt-F6 để chạy thử

Như bạn thấy chương trình đã chạy thành công, nhưng chúng ta không thấy điều gì xảy ra, do JFrame
chưa được set thuộc tính hiển thị

SOF203 – Lập trình Java 3

Lab 1


Bạn có thể thiết lập thêm các thuộc tính cho JFrame cho đúng ý mình
setTitle(String)
setBackground(c)
setForeground(c)
setSize(width,height)

Bài 2 Tạo JPanel và set ảnh nền cho JPanel.
1. Trong Project của bạn, tạo 1 JFrame Form

2. Trong ô Swing Containers chọn Panel và kéo vào Frame của chúng ta, kéo cho vừa với kích thước

SOF203 – Lập trình Java 3

Lab 1


Frame

3. Sau khi kéo Panel vừa khít với Frame, nhấn chuột phải vào Panel đó, chọn Customize Code

Sau đó ta sẽ có hộp thoại:

SOF203 – Lập trình Java 3

Lab 1


Tại chỗ default code, bạn chọn lại là Custom creation

Như vậy ta đã có 1 Jpanel nằm trong JFrame
Chúng ta có thể thiết lập thuộc tính cho JPanel bằng các phương thức
- setBound
- setBackground
- setLayout
- setBorder


SOF203 – Lập trình Java 3

Lab 1


4. Set ảnh nền cho Panel
Paste đoạn code sau vào giữa nhé:
ImageIcon icon = new ImageIcon("images/bg.png");
public void paintComponent(Graphics g){
Dimension d = getSize();
g.drawImage(icon.getImage(), 0, 0, d.width, d.height, null);
setOpaque(false);
super.paintComponent(g);
}

Chuyển sang chế độ Code, import các thư viện cần thiết

SOF203 – Lập trình Java 3

Lab 1


Bài 1. Thiết kế giao diện máy máy tính bỏ túi
Tạo mới một Project, add một JPanel vào JFrame,

Tiếp theo bạn quy định cho cấu trúc của GridLayout là 5 cột, 4 hàng bằng cách Click vào mục
GridLayout có trong khung Inspector, sau đó trong khung Properties ở bên phải màn hình của
NetBean bạn sẽ quy định thông qua mục Column và Row như hình dưới đây

kéo thả vào trong jPanel của mình các nút sẽ dùng trên giao diện


SOF203 – Lập trình Java 3

Lab 2


Đặt tên cho các thành phần trên giao diện
Đặt tên cho label dùng để hiển thị dữ liệu là “hienThi ” bằng cách nhấn nút phải vào jLabel này và chọn
lệnh “Change variable Name …”,

Giao diện hoàn thiện có dạng như sau

Bài 2. Lập trình sự kiện cho các nút
Lập trình cho các nút số (0,1,2, … 9)

SOF203 – Lập trình Java 3

Lab 2


Để thể hiện số trên jLabel hienThi trong cửa sổ ứng dụng khi người dùng chọn số nào (nút nào)
thì số đó sẽ xuất hiện trong jLabel. Chúng ta sẽ làm như sau
- Trỏ chuột vào nút số cần lập trình và nhấn nút phải, sau đó chọn Events -> Action ->
actionPerformed . Các thao tác được mô tả như hình dưới đây

Lúc này, cửa sổ viết Code sẽ xuất hiện. Bạn hãy viết mã lệnh cho sự kiện của nút như sau

Các nút tương ứng với các phép toán cơ bản (+, -, *, /)
Khi người dùng nhấn vào các nút số để nhập vào số cần tính (Tại thời điểm này ta x em như họ nhập
số thứ nhất ), khi người dùng chọn phép toán chính là lúc bạn phải ghi nhận số đã nhập vào trong 1

biến đồng thời ghi nhận luôn phép toán mà người ta muốn thực hiện, sau đó bạn phải “Reset” lại giá trị
trong jLabel hienThi để cho người dùng có thể tiến hành nhập tiếp giá trị của số thứ 2 có tham gia tính
toán trong chương trình. Cho đến khi họ nhấn vào nút “=” thì chúng ta sẽ lấy giá trị thứ nhất (Đã ghi
nhận) kế hợp với phép toán đã chọn cùng với số thứ 2 (Số đang có trên jLabel hienThi tại thời điểm tính
toán) để tính và trả về kết quả trên màn hình. Với phân tích như thế, tôi đã khai báo ở mức toàn cục của
lớp View 2 biến thành phần như sau

SOF203 – Lập trình Java 3

Lab 2


mã lệnh của các nút chức năng tượng trưng cho 4 phép toán cơ bản như thế này

Như vậy, sau khi nhấn chọn phép toán và nhập số thứ 2; người dùng chọn nút “=” để xem kết quả của
phép toán thì chúng ta sẽ lập trình cho nút này như sau

SOF203 – Lập trình Java 3

Lab 2


Tương tự với các phép toán khác

SOF203 – Lập trình Java 3

Lab 2


Bài 1: Xây dựng giao diện trò chơi xếp ô số như sau


Hướng dẫn thực hiện:
Thiết kế giao diện với 16 nút
Đặt layout cho cửa sổ là BorderLayout
Kéo 3 Jpanel vào và đặt ở các vị trí: First, Center, Last sau đó đặt layout cho các JPanel này như sau:
 FlowLayout.CENTER cho 2 Panel First và Last
 GridLayout(4x4) cho Panel Center
Kéo Jlabel vào JPanel vị trí First, 16 nút vào JPanel Center, 1 nút vào JPanel Last thiết kế các nhãn phù hợp








FlowLayout(CENTER)

GridLayout(4x4)

FlowLayout(CENTER)


SOF203 – Lập trình Java 3

Lab 3


Bài 2: Xây dựng trò chơi với qui tắc
 Khi nhấp chuột nút số cạnh nút trống thì sẽ đổi số đó cho ô trống.

 Trò chơi kết thúc khi thứ tự các ô số được sắp xếp theo chiều tăng dần
Hướng dẫn:
 [Bắt đầu]: Mở hộp thoại InputDialog yêu cầu nhập họ và tên người chơi và hiển thị trên tiêu đề của của sổ sau
đó Enable tất cả các nút số
o Sử dụng JoptionPane.showInputDialog() để là họ và tên từ người dùng
o Sử dụng this.setTitle() để thiết lập tiêu đề
o Sử dụng btn.setEnabled() để Enable/Disable các nút
 [Nhấp nút số]: nếu nút số cạnh nút trống thì chuyển số sang nút trống
o Sử dụng btn.getText() và btn.setText() để thay đổi nhãn của nút
 Xác nhận có chơi tiếp hay không khi trò chơi kết thúc? Nếu chọn yes thì đánh lại các ô số ngược lại thì đóng cửa
sổ
o Sau mỗi thao tác đổi duyệt xem các nhãn đã được xếp tăng dẫn hay chưa để đưa ra thông báo Game
over và xác nhận chới tiếp.
o Sử dụng JoptionPane.showConfirmDialog() để yêu cầu xác nhận có tiếp không?
Sử dụng System.exit(0) để kết thúc ứng dụng

SOF203 – Lập trình Java 3

Lab 3


Bài 1: Xây dựng giao diện JMenu
Sử dụng NetBeans IDE , xây dựng giao diện chương trình như sau:

Bài 2: xử lý sự kiện trên JMenu
Xây dựng một chương trình có giao diện sau:

Gán phím tắt và sự kiện cho menu

Xử lý sự kiện:


SOF203 – Lập trình Java 3

Lab 4


SOF203 – Lập trình Java 3

Lab 4


Bài 1. Kết nối CSDL SQL Server 2008 từ NetBean (Type 4)
Bước 1: Download Driver
Để sử dụng CSDL SQL Server 2008, chúng ta có thể dùng 1 trong 2 driver sau:
- JTDS: một driver mã nguồn mở, thuần Java 100% (type 4), hiện là trình
driver JDBC nhanh nhất cho SQL Server
o />- SQLJDBC là driver được cung cấp bởi Microsoft
o />Giải nén file download, ta được file thư viện có dạng .jar
Bước 2: Tạo Library mới
Trong NetBean bạn chọn Tools > Libaries > Chọn New Library > Đặt tên cho nó
(chọn library type là Class Libaries)

SOF203 – Lập trình Java 3

Lab 5


Bước 3: Tạo Project và import driver cho Project
Tạo project Test (Java Application). Nhấp chuột phải vào project mới tạo và chọn
Properties. Phía bên trái của của Sổ vừa hiện lên bạn chọn mục Libaries, chọn Add

Library, bạn chọn Library vừa add vào ở bước 2
Bước 4: Kết nối
Tạo File test.java để thử connect

SOF203 – Lập trình Java 3

Lab 5


Bài 2. : kết nối SQL Server trong JAVA Sử dụng ODBC – JDBC Bridge
(Type I)
A - Tạo 1 “System data source name” để sử dụng cho chương trình
Trong Windows, bạn hãy chọn Start - > Control Panel -> Administrative tools ->
Data Source (ODBC). Lúc này trên màn hình sẽ xuất hiện công cụ “ODBC Data
Source Administrator” của hệ điều hành Windows và bạn hãy tiến hành theo các
bước như mô tả dưới đây
Chọn [Tab] System DSN

SOF203 – Lập trình Java 3

Lab 5


Chọn nút Add để tạo 1 DSN mới trong môi trường, lúc này bạn sẽ thấy xuất hiện
cửa sổ sau :

SOF203 – Lập trình Java 3

Lab 5



×