Professional Documents
Culture Documents
Bai Tap Thuc Hanh LT HDT
Bai Tap Thuc Hanh LT HDT
TRANG 1
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
- Lớp Triangle định nghĩa một tam giác với chiều dài cạnh đáy và chiều cao.
TRANG 2
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
- Lớp Fraction định nghĩa một phân số với hai thành phần tử số và mẫu số
4. Tạo một Project để định nghĩa và hiện thực các lớp đối tượng theo thiết kế như
sau:
Student
-stID: String
-stName: String
-stClass: String
+Student()
+Student(stID: String, stName: String, stClass: String)
+Student(Student st)
+getStID(): String
+getStName(): String
+getStClass(): String
+setStID(id: String): void
+setStName(name: String): void
+setStClass(class: String): void
+toString(): String
Book
-boCode: String
-boTitle: String
-boAuthor: String
+ Book ()
+ Book (boCode: String, boTitle: String, boAuthor: String)
+ Book (bo: Book)
+getboCode(): String
+getBoTitle(): String
+getBoAuthor(): String
TRANG 3
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
LibraryCard
-lbCode: long
-owner: String
-borrowCount: int
+ LibraryCard ()
+ LibraryCard (lbCode: long, owner: String, borrowCount: int)
+getLbCode(): long
+getOwner(): String
+getBorrowCount(): int
+setLbCode (code: long): void
+setOwner (owner: String): void
+checkOut(num: int): void
+toString(): String
TRANG 4
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
3. Cho 2 lớp được thiết kế theo sơ đồ sau đây, hãy triển khai chương trình:
TRANG 5
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
5. Thực hiện lớp Nhân viên để lưu trữ thông tin của các nhân viên trong công ty
sản xuất ABC.
Attributes:
- ID: String
- fullName: String
- yearJoined: int
TRANG 6
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
- coefficientsSalary: double
- numDaysOff: int (số ngày nghỉ trong tháng)
Constructors:
- Constructor không tham số Employee() (ID = 0, fullName = ””, yearJoined =
2020,
coefficientsSalar = 1.0, numDaysOff = 0)
- Constructor có tham số Employee(ID: String, fullName: String,
coefficientsSalary:
double) (yearJoined = 2020, numDaysOff = 0)
- Constructor với đầy đủ tham số.
Methods:
- public double getSenioritySalary(): Tính lương thâm niên của người lao động:
Biết rằng nếu người lao động làm việc từ 5 năm trở lên thì lương thâm niên được
tính theo công thức sau: seniority salary = years of work * basic salary / 100
- public String considerEmulation(): viết phương thức đánh giá thi đua nhân
viên. Nếu số ngày nghỉ <= 1 được xếp loại A, thì số ngày nghỉ <= 3 được xếp loại
C.
- pulic double getSalary(): viết một phương thức tính lương cho nhân. Biết rằng
lương đó được tính bằng cách sử dụng công thức sau đây với basic salary = 1150:
salary = basic salary * salary coefficient * emulation coefficient + seniority salary
• Nếu xếp loại A: emulation coefficient = 1.0
• Nếu xếp loại B: emulation coefficient = 0.75
• Nếu xếp loại C: emulation coefficient = 0.5
TRANG 7
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
TRANG 8
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
2. Xây dựng Interface Movable và các lớp triển khai của nó là MovablePoint và
MovableCircle
TRANG 9
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
ArrayList: là một lớp mảng có thể thay đổi kích thước, thuộc gói java.util
Khởi tạo:
ArrayList()
ArrayList(Collection coll)
ArrayList(int capacity)
TRANG 10
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
Ví dụ sử dụng ArrayList
import java.util.ArrayList;
public class Test2 {
public static void main(String[] args) {
ArrayList mylist = new ArrayList();
mylist.add(10);
mylist.add("Hello");
mylist.add(true);
mylist.add(15.75);
int i = (Integer)mylist.get(0);
String s = (String)mylist.get(1);
boolean b = (boolean)mylist.get(2);
double d = (double)mylist.get(3);
System.out.println("1st element: " + i);
System.out.println("2nd element: " + s);
System.out.println("3rd element: " + b);
System.out.println("4th element: " + d);
}
}
import java.util.*;
class Test {
public static void main(String[] args) {
int n = 5;
ArrayList<Integer> arrlist = new ArrayList<Integer>(n);
for (int i=1; i<=n; i++)
TRANG 11
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
arrlist.add(i);
System.out.println(arrlist);
arrlist.remove(3);
System.out.println(arrlist);
for (int i=0; i<arrlist.size(); i++)
System.out.print(arrlist.get(i)+" ");
}
Vector:
Lớp Vector thực hiện một mảng các đối tượng có thể phát triển
Khởi tạo:
Vector()
Vector(int size)
Vector(int size, int incr)
Vector(Collection coll)
Các phương thức:
isEmpty()
size()
add(E el)
add(int index, E el)
remove(int index)
remove(Object obj)
get(int index)
indexOf(Object obj)
contains(Object obj)
Ví dụ sử dụng Vector
import java.util.Vector;
public class TestVector {
public static void main(String[] args) {
Vector<String> courses = new Vector<String>();
courses.add("501043");
courses.add(0, "501042");
courses.add("502043");
TRANG 12
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
TRANG 13
Bài tập thực hành Lập trình hướng đối tượng Khoa HTTT&VT- Bộ môn CNPM
Bài 3:
Viết chương trình có lớp Student chứa thông tin về tên, địa chỉ, giới tính, điểm.
Student có một Nested Class StudentOperation, nó có 2 phương thức print() và type():
- Phương thức print() sẽ in ra thông tin Student
Student [" name "," address "," sex "," score "]
- Phương thức type sẽ trả về xếp loại với kiểu dữ liệu là String
nếu điểm>8, trả về loại A,
nếu 5<= điểm <=8, trả về loại B,
nếu điểm <5, trả về loại C
Bài 4:
Thực hiện chương trình Java với biểu đồ sau đây:
Trong đó phương thức move():
- Nếu vehicle là car thì in ra màn hình thông báo “Car is moving”
- Nếu vehicle là truck thì in ra màn hình thông báo “Truck is moving”
TRANG 14