Professional Documents
Culture Documents
Bài tập 1.
Mục đích:
- Download và cài đặt được JDK.
Yêu cầu:
- Hãy tải và cài đặt JDK
Hướng dẫn:
Để biên dịch được các source code Java, máy tính của chúng ta phải có máy Ảo
Java Để có được máy Ảo Java các bạn vào link bên dưới để download bộ JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Sau khi click vào đường link bên trên, danh mục JAVA Kit sẽ hiển thị như hình bên dưới:
Trang 3
chọn JDK để Download, sau khi click chọn Download thì một màn hình mới sẽ được hiển
thị ra, trong màn hình mới này tùy vào cấu hình của máy tính mà chúng ta chọn tập tin
Download cho hợp lý.
Giả sử rằng máy tính của bạn 32bits, bạn sẽ chọn Windows x86 để load. Sau khi load và
cài đặt thành công bạn vào Control Panel để kiểm tra xem máy ảo Java đã được cài đặt vào
máy hay chưa. Nếu có biểu tượng Java như hình bên dưới thì coi như bạn đã cài đặt thành
công:
Trang 4
Bài tập 2.
Mục đích:
- Thiết lập được biến môi trường để chạy java ở cơ chế command-line.
Yêu cầu:
- Hãy thiết lập biến môi trường để chạy được java ở cơ chế command -line
Hướng dẫn:
1. Bấm chuột phải vào biểu tượng Computer/ chọn Properties
2. Một cửa sổ mới hiện lên, chúng ta chọn Advanced System Settings
3. Cửa sổ System Properties sẽ hiển thị ra, chúng ta vào tab Advanced, click chọn
button Environment Variables…Cửa sổ Environment variables sẽ hiển thị như hình
bên dưới.
4. Trong mục System variables, click chọn button New.
Mục Variable name, chúng ta nhập vào biến JAVA_HOME
Mục Variable value, chúng ta copy đường dẫn cài đặt JDK vào đây, trong ví dụ này thì
Trang 5
JDK được cài đặt như hình minh họa. Tức là nếu máy của bạn cài JDK ở đâu thì copy paste
đường dẫn đó vào mục này.
Sau khi chọn OK, bạn quan sát trong vùng System Variables, biến JAVA_HOME và giá trị của
nó sẽ xuất hiện như hình minh họa bên dưới:
Trang 6
5. Bước tiếp theo, các bạn tìm tới biến Path trong mục System variables, click chọn Edit:
Trong mục Variable value, các bạn di chuyển tới cuối, nhập vào các giá trị như hình minh
họa : ;%JAVA_HOME%\bin;.;
6. Kiểm tra lại cấu hình có chính xác hay không:
Để kiểm tra xem máy tính của bạn đang cài JDK version bao nhiêu, vào Start/ Run. Hoặc
gõ tổ hợp phím Windows+R để hiển thị cửa sổ Run, trong cửa sổ này các bạn gõ vào lệnh
cmd rồi nhấn phím Enter.
Trang 7
Gõ java –version để kiểm tra JDK version.
Gõ javac –version để kiểm tra javac
version.
Bài tập 3.
Mục đích:
- Viết được chương trình Java bằng notepad và biên dịch bằng command -
line
Yêu cầu:
1. Đánh đoạn code sau sử dụng Notepad:
class Welcome
{
public static void main(String []arg)
{
System.out.println("\nMy first Java
Program");
}
}
2. Chọn menu File Save As và đánh tên file ‘Welcome.java’ (giống tên của class)
3. Chọn Start Run và đánh lệnh ‘cmd’ vào trong hộp thoại Run
4. Click vào button OK để cửa sổ command prompt xuất hiện. Thay đổi đường dẫn thư
mục lưu file trong bước 3.
5. Biên dịch chương trình sử dụng lệnh ‘javac’
6. Chạy chương trình sử dụng ‘java’
Hướng dẫn:
Bài tập 4.
Mục đích:
Trang 8
- Sử dụng được Netbean
Yêu cầu:
* Tổng quan về NetBeans
Khi mở Netbeans lên, bạn sẽ được 1 giao diện như thế này. Mình sẽ giải thích qua một chút về
các thành phần của Netbean nha
1.View windows: các cửa sổ theo dõi, các log, output hay cây thư mục project sẽ hiển thị ở các
cửa sổ này.
2.Toolbar: đây là thanh công cụ, thanh này chứa các nút điều khiển như tạo, lưu project,
run/debug project,…
4.Status bar: thanh trạng thái, thỉnh thoảng nó sẽ hiển thị trạng thái của Project.
À, nếu bạn nào thắc mắc là sao Netbean của mình màu đen thì đó là Darktheme nha :)) Bạn có
thể cài đặt nó ở đây (Nhìn cool phết, sau ra cafe ngồi code cho
ngầu): http://plugins.netbeans.org/plugin/62424/darcula-laf-for-netbeans
Ngoài ra thì mình cũng khuyên mọi người thu nhỏ các View window lại để thuận tiện cho việc
code hơn nhé, các bạn cứ yên tâm là nó sẽ hiện lại như cũ bằng các nhấp vào các hình thu nhỏ.
Trang 9
Ok, chúng ta vừa có một cái nhìn tổng quan về IDE Netbeans, bây giờ hãy cùng tạo một Project
Java đầu tiên nào
Bước 1: Nhấn tổ hợp “Ctrl + Shift + N” bạn sẽ ra một màn hình như dưới đây.
Bước 2: Chọn “Java Application” rồi nhấn “Next”.
*) Chú ý: Nếu đây là lần đầu tiên bạn tạo một Java Project thì hãy chờ một lúc để Netbean load
nhé, tầm 1-2 phút thôi.
Bước 3: Đặt tên cho Project của bạn. Còn một số cái nữa như là vị trí của Project trong máy thì
các bạn tự chỉnh sao cho phù hợp với mình nhất nhé.
Trang 10
Bước 4: Vậy là bạn đã thành công và sẽ được một màn hình như dưới.
* 1 file .java có những gì?
Sau khi bạn tạo 1 Project Java mới, bạn sẽ được 1 file .java như sau:
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication2;
/**
*
* @author D.A.N_3002
*/
public class JavaApplication2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
Trang 11
Ok, xem một file cơ bản thì ta sẽ thấy nó có những từ khoá sau:
• package: Như tên gọi của nó, package là một nhóm hay tập hợp các thư viện con được định sẵn
hoặc là do người dùng tự viết. Có rất nhiều package được dựng sẵn như java, lang, AWT, javax,
swing, net, io, util, ...
• class: Đây là một thứ rất quan trọng trong OOP, nhưng vì chúng ta đang tìm hiểu cơ bản thôi
nên hãy làm rõ class là gì trong một bài viết riêng về nó nhé
• public static void main(String[] args) Đây là hàm main của Java, toàn bộ code Java của ta sẽ
được viết vào trong hàm này.
• Còn một điều quan trọng nữa là Comment. Comment có thể bắt đầu bằng 2 từ khoá // hoặc
là /* code */. Các comment sẽ không ảnh hưởng gì đến đoạn code của bạn, khi chạy thì chương
trình sẽ tự động bỏ qua các comment. Nó như là ghi chú vậy, sẽ giúp ích cho bạn rất nhiều
trong việc code.
Đây chắc là phần mà các bạn mong chờ nhất đây, bắt đầu code thôi nào Để in ra màn hình thì
ta sẽ sử dụng 2 dòng code:
Những thành phần bạn muốn in ra phải trong dấu ngoặc kép " " nha .Nghe khó hiểu nhỉ @@
Xem thử ví dụ để dễ hiểu nào Ta có đoạn code như sau (Không phải Hello Word đâu)
package javaapplication2;
public class JavaApplication2
{
public static void main(String[] args)
{
System.out.println("Hello Everyone!");
System.out.print("My Name: ");
System.out.println("D.A.N_3002");
System.out.println("Welcome to JavaLearning");
}
Sau khi chạy đoạn code (bằng tổ hợp Shift + F6 nhé) thì bạn sẽ được một kết quả như sau, chú
ý ở phần Output nào:
Hello Everyone!
My Name: D.A.N_3002
Trang 12
Welcome to JavaLearning
Các bạn thấy đó, câu “Hello Everyone!” mình sử dụng cách 1 để in, sau khi in hết câu đó xong
thì chương trình sẽ nhảy xuống dòng rồi mới in tiếp. Nhưng ở câu "My Name: " thì mình lại
dùng cách 2, chương trình không xuống dòng mà tiếp tục in “D.A.N_3002” cùng dòng với câu
đó luôn Dễ hiểu hơn rồi đúng không nào. Nhưng nếu ta gộp lại như thế này thì vẫn có chung 1
Output
System.out.println("Hello Everyone!");
System.out.println("My Name: D.A.N_3002");
System.out.println("Welcome to JavaLearning");
Ví dụ Hãy viết một chương trình để in ra câu chào và giới thiệu họ tên của bạn theo mẫu sau:
Xin chào!
Tôi tên là: ...
Năm nay tôi ... tuổi
Đây là chương trình Java đầu tiên của tôi!
Solution
Gợi ý
package javaapplication2;
public class JavaApplication2
{
public static void main(String[] args)
{
System.out.println("Xin chào!");
System.out.println("Tôi tên là: DAN");
System.out.println("Năm nay tôi 15 tuổi");
System.out.println("Đây là chương trình Java đầu tiên của
tôi!");
}
Bài tập 5.
Mục đích:
- Thao tác với toán tử trong Java.
Yêu cầu:
import java.util.*;
Trang 13
static void printInt(String s, int i) {
Bài tập 6.
Trang 14
Mục đích:
- Thao tác với toán tử tự động tăng giảm
Yêu cầu:
public class AutoInc_DecOps {
public static void main(String[] args) {
int i = 1;
System.out.println("i : " + i);
System.out.println("++i : " + ++i); // Pre-increment
System.out.println("i++ : " + i++); // Post-increment
System.out.println("i : " + i);
System.out.println("--i : " + --i); // Pre-decrement
System.out.println("i-- : " + i--); // Post-decrement
System.out.println("i : " + i);
}
Bài tập 7.
Mục đích:
- Thao tác với toán tử logic
Yêu cầu:
import java.util.*;
Trang 15
System.out.println("i != j is " + (i != j));
//Using Logical Operators
System.out.println("(i < 10) && (j<10) is " + ((i < 10) && (j <
10)));
System.out.println("(i < 10) || (j<10) is " + ((i < 10) || (j <
10)));
}
}
Kết quả được xuất ra là gì? Giải thích
Hướng dẫn: Giải thích bằng comment trực tiếp trong code.
Bài tập 8.
Mục đích:
- Ôn luyện lại cấu trúc điều khiển
Yêu cầu:
a) Viết chương trình in ra tổng của 10 số chẵn đầu tiên (sử dụng vòng lặp for hoặc while)
b) Viết chương trình in ra những số lẻ từ 1 đến 99.
c) Viết chương trình xuất ra tổng các số là bội số của 7 (từ 1 đến 100)
d) Viết chương trình in ra tổng 1+2+3….+n với n được nhập từ tham số command line
e) Viết chương trình in ra tổng 1+3+5….+n nếu n là số chẳn, 2+4+6+….n nếu n là số lẻ.
Giá trị n được nhập vào từ tham số command line
f) Viết chương trình in ra giá trị lớn nhất và nhỏ nhất trong một dãy các giá trị user đã
nhập vào từ tham số command line.
g) Viết chương trình giải phương trình bậc 1 với hệ số a, b được nhập vào bởi user từ
tham số command line.
h) Viết chương trình đọc một giá trị nguyên từ bàn phím và in ra số đó là số chẵn, lẻ
hoặc zero
i) Viết chương trình in ra bội số của 3 từ 300 đến 3
j) Viết chương trình in ra số lần kí tự „a‟ xuất hiện trong một chuỗi.
k) Vẽ các hình bên dưới:
Trang 16
Phần 1.2 Objects and Primitive data
Nội dung kiến thức thực hành:
- Dùng lớp Scanner để nhập dữ liệu
- Sử dụng lớp Math
- Sử dụng lớp String, lớp Character
- Viết hàm (method)
- Viết hàm overload
Bài tập 9.
Mục đích:
- Sử dụng lớp Scanner để nhập số.
- Định dạng xuất.
- Sử dụng lớp Math.
Yêu cầu:
Viết chương trình tính thể tích và diện tích bề mặt của một hình cầu với bán kính r nhập
vào (r>=0). Kết quả chỉ cần lấy 4 chữ số thập phân. Công thức tính:
Thể tích =
Mục đích:
Yêu cầu:
Viết chương trình cho nhập vào kích thước 3 cạnh a, b, c của một tam giác. Tính
và xuất diện tích của tam giác, sử dụng công thức Heron. Trước khi tính phải kiểm tra
xem 3 số a, b, c có lập thành một tam giác không (a, b, c lập thành tam giác khi tổng 2
số bất kỳ luôn lớn hơn số còn lại).
Trang 17
Bài tập 11.
Yêu cầu:
Viết chương trình tính khoảng cách giữa 2 điểm có tọa độ (x1,y1) và (x2,y2), biết công thức
Mục đích:
+ Nhập chuỗi.
+ Lấy từng kí tự trong chuỗi.
Yêu cầu:
Viết chương trình cho nhập một chuỗi và in ra các ký tự trong chuỗi đó ra màn
hình, mỗi ký tự trên một dòng.
HD: dùng hàm charAt(int)
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết chương trình cho nhập một chuỗi và đếm số khoảng trắng có trong chuỗi đó.
HD: dùng hàm isSpace(char) của lớp Character để kiểm tra khoảng
trắng.
Hướng dẫn:
Trang 18
Bài tập 15.
Mục đích:
- So sánh 2 chuỗi
Yêu cầu:
Viết chương trình cho nhập vào hai chuỗi, kiểm tra xem hai chuỗi có bằng nhau
không, không phân biệt chữ hoa chữ thường.
Hướng dẫn:
Mục đích:
- Nối chuỗi
Yêu cầu:
Viết chương trình cho nhập một chuỗi và một số nguyên n. Chương trình in ra một
chuỗi mới là chuỗi được ghép từ n lần chuỗi đã nhập. Nếu n<2 thì xuất ra chuỗi gốc. Ví dụ
nhập “hi” và 4, kết quả xuất ra “hihihihi”.
Hướng dẫn:
Mục đích:
- Tách chuỗi
Yêu cầu:
Viết chương trình cho nhập vào một chuỗi, tách chuỗi này thành các chuỗi con
dựa vào khoảng trắng, xuất kết quả thành từng dòng.
Ví dụ: nhập s = Xin Chao ban!
Xuất kết quả:
Xin
Chao
ban!
Hướng dẫn:
Trang 19
Mục đích:
- Viết hàm
Yêu cầu:
(i) Viết một hàm có tên square, hàm có 1 tham số x kiểu số thực. Hàm này tính
toán và trả về bình phương của x.
(ii) Đưa hàm trên vào một chương trình và nó được gọi thực hiện bởi hàm main.
Test hàm vừa viết bằng cách thực hiện vài lần, mỗi lần với các giá trị truyền khác nhau.
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết chương trình giải phương trình bậc hai ax2 + bx + c = 0, viết hàm tính delta.
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết hàm alarm in ra các chuỗi “Alarm!”, mỗi chuỗi trên một dòng. Hàm alarm
có một tham số kiểu số nguyên biểu thị cho số dòng cần in, nếu số này nhỏ hơn 1 thì in
ra câu thông báo lỗi.
Test hàm vừa viết bằng cách thực hiện vài lần, mỗi lần với giá trị truyền khác
nhau.
Trang 20
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết hàm countA, hàm này nhận một tham số kiểu String và trả về số lần xuất hiện
ký tự
„A‟ trong chuỗi đó.
Test hàm vừa viết bằng cách thực hiện vài lần, mỗi lần với giá trị truyền khác
nhau.
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết hàm multiConcat, hàm nhận một tham số kiểu String và một số nguyên n,
hàm trả về một chuỗi mới là chuỗi được ghép từ n lần chuỗi trong tham số. Nếu n<2
thì xuất ra chuỗi gốc.
Ví dụ gọi hàm multiConcat(“hi”,4) kết quả xuất ra “hihihihi”. Test hàm vừa
viết bằng cách thực hiện vài lần, mỗi lần với các giá trị truyền cho hàm khác nhau.
Trang 21
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết chương trình xuất ra dãy số Fibonacci, Yêu cầu phải viết 2 phương thức.
Phương thức 1 dùng để trả về số Fibonacci tại vị trí thứ k bất kỳ. Phương thức 2 dùng để
xuất dãy số Fibonacci từ 1 n.
Dãy Fibonacci : 1 1 2 3 5 8 13 21 34 …
- Số Fib thứ k = (số Fib thứ k-1) + (số Fib thứ k-2), tức là 13 =8+5, 21=13+8
- 2 số Fib đầu tiên trong dãy luôn luôn là 1
Hướng dẫn:
Mục đích:
Yêu cầu:
Hãy viết phương thức tên Panlyndrome nhận 1 tham số có kiểu String và trả về true
nếu tham số là chuỗi panlyndrome (chuỗi panlyndrome là chuỗi có chuỗi đảo ngược bằng
chính nó, ví dụ madam)
Hướng dẫn:
public static boolean isPanlyndrome(String s)
{
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)!=s.charAt(s.length()-i-
1)) return false;
}
return true;
}
Trang 22
Hướng dẫn:
Mục đích:
Yêu cầu:
Viết chương trình chơi game đoán số, mô tả game như sau:
- Khởi tạo ban đầu người chơi có 5 điểm
- Máy tự động Random ngẫu nhiên 1 số từ 0->5 (số này sẽ không xuất ra, chỉ dùng
để so sánh với số số mà người chơi đoán
- Người chơi đoán số, Nếu đoán đúng thì + 1 điểm vào điểm khởi tạo, ngược lại -1 điểm
(Chú ý là có xuất thông báo khi người chơi đoán trúng hay đoán sai)
- Khi người chơi không còn điểm nào thì thông báo Game Over
- Nếu người chơi tích lũy được 10 điểm thì thông báo Congratulations! You Win!
Hướng dẫn:
Random rd=new Random();
int so=rd.nextInt(6);
Hướng dẫn:
Trang 23
Phần 1.3 Writing Class
Nội dung kiến thức thực hành:
Mục đích:
- Tìm hiểu cách viết lớp trong Java.
Yêu cầu:
Cho lớp Distance như sau:
Tìm hiểu lớp này và giải thích kết quả. Nếu chương trình bị lỗi, hãy sửa
lỗi.
Hướng dẫn:
-
Mục đích:
- Biết cách viết và sử dụng overloaded constructors.
Yêu cầu:
- Cho các lớp sau, hãy tìm hiểu và giải thích cách sử dụng lớp Time. Cho biết kết quả
của chương trình là gì?
Trang 24
// Time.java
import java.text.DecimalFormat;
}
// Time constructor: hour, minute and second supplied
public Time(int h, int m, int s) {
setTime(h, m, s);
}
Trang 25
":" + twoDigits.format(second);
}
Trang 27
firstName =””;
lastName =””;
birthDate = new
Date(0, 0, 0);
hireDate = new
Date(0, 0, 0);
}
Hướng dẫn:
-
Mục đích:
Yêu cầu:
Viết lớp HinhTron dùng để tính diện tích và chu vi hình tròn từ bán kính. Viết hàm
main để test lớp này.
Trang 28
Hướng dẫn:
Yêu cầu:
(i) Xây dựng lớp NhanVien như sau:
NhanVien
- maNV : String
- soSP : int
+ NhanVien()
+ NhanVien (ma: String, sp : int)
+ getMaNV() : String
+ setMaNV(ma : String) : void
+ getSoSP() : int
+ setSoSP(sp : int) : void
+ coVuotChuan() : boolean
+ getTongKet() : String
+ getLuong(): double
+ XuatTieuDe() : static void
+ toString() : String
rong các hàm khởi tạo và các hàm setSoSP, khi gán giá trị cho thuộc tính soSP thì
cần kiểm tra giá trị đó có phải là số dương không, nếu là số dương thì mới gán giá trị
cho thuộc tính, ngược lại thì gán bằng 0.
coVuotChuan() : trả về true nếu soSP > 500, ngược lại trả về false.
Giải thích: hàm này dùng để kiểm tra xem số lượng sản phẩm của nhân viên có vượt
quá số lượng chuẩn hay không.
getTongKet() : trả về chữ "Vượt" khi soSP > 500, ngược lại để trống (có thể
sử dụng hàm coVuotChuan() để kiểm tra).
getLuong() : trả về lương của một nhân viên, lương ăn theo sản phẩm với đơn
giá cơ bản cho 1 sản phẩm là 20000, và nếu số sản phẩm của nhân viên vượt chuẩn thì
phần vượt chuẩn được tính đơn giá là 30000.
XuatTieuDe() : xuất tiêu đề gồm các cột : mã nhân viên, số sản phẩm, lương,
tổng
kết.
toString() : trả về chuỗi chứa thông tin của nhân viên gồm các cột: Mã nhân
viên
(maNV), Số sản phẩm (soSP), Lương và Tổng kết.
(ii) Viết hàm main để kiểm tra lớp NhanVien theo yêu cầu sau:
Tạo 2 nhân viên với các thuộc tính cho người dùng nhập vào. Xuất ra các thông tin
Trang 30
của họ, gồm mã, số sản phẩm, lương, tổng kết.
Hướng dẫn:
1 - 199 0.5
t hàm LonHon(CNhanVien nv2): hàm này trả về giá trị true khi số sản phẩm
(mSoSP) lớn hơn số sản phẩm của nv2, ngược lại trả về false
(ii) Viết hàm main sử dụng lớp CNhanVien theo yêu cầu sau:
Cho người dùng nhập vào 2 nhân viên, mỗi nhân viên nhập vào họ, tên, số sản phẩm
của họ. Hãy tính và xuất ra lương của từng nhân viên. So sánh và xuất ra thông báo nhân
viên nào có số sản phẩm nhiều hơn và nhiều hơn bao nhiêu. Dùng 2 cách so sánh: dùng
hàm LonHon và không dùng hàm LonHon.
Hướng dẫn:
Hãy cài đặt theo mô hình này. Viết hàm main cho nhập vào một số Student và xuất ra các
thông tin đó.
Trang 32
- Cách truyền tham số trong Java
- Cách sử dụng từ khóa static
- Viết Interface và thực thi
Mục đích:
Hiểu cách truyền tham số cho hàm trong Java.
Yêu cầu:
Cho các lớp dưới đây, cho biết kết quả chương trình và giải thích.
// Num.java
public class Num
{
private int value;
public Num (int update)
{
value = update;
}
public void setValue (int update)
{
value = update;
}
public String toString ()
{
return value + "";
}
}
// ParameterTester.java
public class ParameterTester {
public static void changeValues(int f1, Num f2, Num f3) {
System.out.println("Before changing the values:");
System.out.println("f1\tf2\tf3");
System.out.println(f1 + "\t" + f2 + "\t" + f3 + "\n");
f1 = 999;
f2.setValue(888);
f3 = new Num(777);
System.out.println("After changing the values:");
System.out.println("f1\tf2\tf3");
System.out.println(f1 + "\t" + f2 + "\t" + f3 + "\n");
}
Mục đích:
- Hiểu cách sử dụng thuộc tính và hàm static.
Yêu cầu:
Cho các lớp dưới đây, cho biết kết quả chương trình và giải thích.
// NhanSu.java
class HoSo {
static int soNguoi;
String hoTen;
HoSo(String ht) {
hoTen = ht;
soNguoi++;
}
void xuatHoTen() {
System.out.println(hoTen);
}
}
public class NhanSu{
public static void main( String argv[] ){
HoSo n1 = new HoSo( "Kim Jong Un" );
HoSo n2 = new HoSo( "Barack Obama" );
HoSo n3 = new HoSo( "Vladimir Putin" );
HoSo n4 = new HoSo( "Nguyễn Lãnh Đạo" );
HoSo.tongKet();
n1.xuatHoTen();
n2.xuatHoTen();
n3.xuatHoTen();
n4.xuatHoTen();
}
}
Trang 34
Hướng dẫn:
Mục đích:
- Tìm hiểu cách viết và sử dụng interface.
Yêu cầu:
Cài đặt các lớp theo mô hình dưới đây:
Mục đích:
- Tìm hiểu cách viết và sử dụng interface
Yêu cầu:
- Thiết kế class theo mô hình bên dưới, sinh viên lựa chọn nội dung thích hợp cho
từng phương thức cụ thể.
Trang 35
Mục đích:
- Tìm hiểu cách viết abstract class
Yêu cầu:
- Hãy thiết kế class hợp lý theo mô hình UML dưới đây, dấu “-” là private, dấu
“#” là protected, dấu “+” là public
Trang 36
Viết thêm class TestMain để kiểm tra class Staff, phương thức payday() sẽ xuất
toàn bộ bảng lương chi tiết cho mỗi nhân viên tại thời điểm tính lương, cách tính lương
cho mỗi nhân viên là khác nhau dựa vào các thuộc tính được mô tả trong mỗi class.
Hướng dẫn:
Trang 37