Xây dựng class học viên gồm các trường maso String, hoten String, tuoi int và các phương thức nhập, xuất để nhập và hiển thị thông tin học viên.. Xây dựng class doanvien gồm các trường h
Trang 1BÀI TẬP THỰC HÀNH JAVA
I Làm quen với lập trình Java:
Bài 1: Viết ra lời chào sau! anhxuanfarastar@gmail.com
Welcome to
Java Programming!
Program by “your name”
Bài 2: Nhập x = 10 từ bàn phím và xuất ra màn hình y = 2^x
Bài 3: Sử dụng một số hàm toán học và nhập dữ liệu từ bàn phím Kết hợp định dạng
xuất dữ liệu Tạo Project mới với tên là ThaoTacSo, khi chạy chương trình xuất ra yêu cầu nhập vào hai số từ bàn phím xuất ra kết quả tổng của hai số vừa nhập Xuất
ra mà hình yêu cầu có dạng:
Bài 4: Sử dụng một số hàm toán học và nhập dữ liệu từ bàn phím Kết hợp định dạng
xuất dữ liệu Tạo Project mới với tên là TinhDienTich, khi chạy chương trình xuất ra yêu cầu nhập vào hai cạnh
của một tứ giác vuông xuất ra kết quả chu vi, diện tích…
Bài 5: Sử dụng một số hàm toán học và nhập dữ liệu từ bàn phím Kết hợp định dạng
xuất dữ liệu Tạo Project mới với tên là PhuongTrinhBac1, giải và biện luận phương trình bậc 1: ax+b=0 Xử lý phương trình có 3 trường hợp: vô nghiệm, vô số nghiệm
và có một nghiệm
Bài 6: Sử dụng một số hàm toán học và nhập dữ liệu từ bàn phím Kết hợp định dạng
xuất dữ liệu.( làm quen class Math) Giải và biện luận phương trình bậc 2 :
ax2+bx+c=0, phương trình có 5 trường hợp: vô nghiệm, vô số nghiệm và có một nghiệm, có 2 nghiệm phân biệt, có 1 nghiệm kép
Trang 2Bài 7: Sử dụng một số hàm lượng giác và nhập dữ liệu từ bàn phím Kết hợp định
dạng xuất dữ liệu.( tiếp tục làm quen với class Math) Nhập 1 góc x Tính và xuất sinx, cosx, tgx, cotgx Hàm lượng giác truyền vào là 1 số Radian, phải đổi góc x ra radian, công thức đổi như sau a=x*PI/180
Bài 8: Sử dụng một số hàm lượng giác và nhập dữ liệu từ bàn phím Kết hợp định
dạng xuất dữ liệu.( tiếp tục làm quen với class Math) Nhập cạnh a>0, b>0, c>0 Nếu
a, b, c tạo thành tam giác thì hãy tính và xuất chu vi, diện tích hình tam giác Ngược lại thông báo “Không tạo thành tam giác
Bài 9(*): Sử dụng hàm toán học và nhập dữ liệu từ bàn phím Kết hợp định dạng xuất
dữ liệu Nhập x, n để tính tổng chuỗi số sau (làm tròn 3 chữ số):
Bài 10(*): Sử dụng hàm toán học và nhập dữ liệu từ bàn phím Kết hợp định dạng
xuất dữ liệu Tạo Project mới với tên là SoGaSoCho Tìm số gà và số chó, biết: Vừa
gà vừa chó, Bó lại cho tròn, Ba mươi sáu con, Một trăm chân chẵn
Trang 3Bài 11: Viết chương trình tính diện tích hình thang có đáy lớn a, đáy nhỏ b và chiều
cao h như sau: S:=1/2*(a+b)*h
Gợi ý:
Nhập đáy lớn a, đáy nhỏ b, chiều cao h
Tính diện tích: S:=(a+b)*h/2 và in kết quả lên màn hình
Bài 12: Viết chương trình tính chu vi, diện tích của hình tròn khi nhập bán kính R.
Gợi ý:
- Nhập R>0 sau đó tính
Chuvi := 2*pi*R;
Dientich:= pi*R*R;
Bài 13: Viết chương trình nhập vào một số giây sau đó in ra màn hình thời gian dưới
dạng giờ:phút:giây
Gợi ý:
- Ví dụ nhập vào 3769 giây thì in ra màn hình dưới dạng: 01:02: 49
- Giả sử nhập vào số giây là : t (giây) thì:
Giờ := t div 3600;
Phút := (t mod 3600) div 60;
Giây := (t mod 3600) mod 60;
Bài 14: Viết chương trình in ra màn hình các số lẻ không vượt quá 100
Bài 15: Viết chương trình nhập vào một điểm của một học sinh, kiểm tra sự hợp lệ
của điểm (>=0 và <=10) và in ra kết quả xếp loại của học sinh đó
Nếu điểm nhập vào <5: học lực Yếu
Nếu điểm nhập vào ≥5 và <6: học lực Trung bình
Nếu điểm nhập vào ≥6 và <7: học lực Trung bình khá
Nếu điểm nhập vào ≥7 và <8: học lực Khá
Nếu điểm nhập vào ≥8 và <9: học lực Giỏi
Nếu điểm nhập vào ≥9 và ≤10: học lực Xuất sắc
Bài 16: Viết chương trình nhập vào tháng và năm (nếu cần) In lên màn hình số ngày
của tháng đó
Bài 17: Viết chương trình thực hiện các công việc sau:
a In ra màn hình bảng cửu chương từ 2 tới 9
Trang 4b Nhập vào một số k (2≤k≤9), in ra bảng cửu chương k.
Bài 18: Viết chương trình nhập dãy số thực có n phần tử và một số x Dò xem trong
dãy có hai phần tử liền nhau nào mà tổng của chúng bằng x không?
II LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG JAVA
Bài 19 Xây dựng class học viên gồm các trường maso (String), hoten (String), tuoi
(int) và các phương thức nhập, xuất để nhập và hiển thị thông tin học viên
Viết chương trình nhập vào 2 học viên và xuất ra thông tin 2 học viên vừa nhập
Bài 20 Xây dựng class doanvien gồm các trường hoten, chidoan, diemXL (điểm xếp
loại) và các phương thức nhập, xuất để hiển thị thông tin đoàn viên
Nhập vào danh sách n đoàn viên, xuất ra thông tin đoàn viên có diemXL ≥8
Bài 21 Xây dựng class canbo gồm các trường maso (String), hoten, hesoluong (int)
và các phương thức nhập, xuất để hiển thị thông tin cán bộ Ngoài ra class này còn có phương thức tính lương với công thức tính: Lương = hesoluong * 1.150.000
Viết chương trình nhập vào một danh sách gồm n cán bộ, xuất ra thông tin cán
bộ có lương cao nhất, thấp nhất
Bài 22 Tạo lớp SACH để quản lý sách trong thư viện Yêu cầu mỗi loại sách cần lưu
trữ các thông tin sau: Tên sách, Tác giả, Số lượng, Năm xuất bản
Xây dựng các phương thức để nhập và hiển thị các thông tin về sách
Viết chương trình chính thực hiện:
- Nhập thông tin cho n cuốn sách
- Hiển thị thông tin về những cuốn sách có số lượng lớn nhất
Bài 23 Xây dựng lớp CDCANHAC có các thông tin: Tên đĩa, số lượng bài, giá tiền
và các phương thức nhập, xuất dữ liệu
Viết chương trình chính thực hiện nhập vào một danh sách n đĩa ca nhạc, sau
đó hiển thị danh sách vừa nhập Tìm và hiển thị thông tin của đĩa có số lượng bài hát lớn nhất
Bài 24 Để quản lý điểm thi đầu vào của các thí sinh, cần xây dựng lớp
ThiSinh gồm thuộc tính và phương thức sau:
- Số báo danh
- Tên thí sinh
- Điểm của 3 môn thi M1, M2, M3
Trang 5- Nhập thông tin của thí sinh
- Tính tổng điểm 3 môn của thí sinh
- In thông tin số báo danh, tên, điểm và tổng điểm thi 3 môn
Trên cơ sở lớp đã xây dựng được, viêt chương trình làm các công việc sau
- Nhập danh sách kết quả thi của các thí sinh vào từ bàn phím
- Dưa ra màn hình danh sách thí sinh trúng tuyển (cho phép nhập điểm chuẩn)
Bài 25 Xây dựng lớp cơ sở NGUOI có các thông tin sau: Họ tên, Giới tính, Ngày
sinh và các phương thức nhập, xuất dữ liệu
Xây dựng lớp dẫn xuất SINHVIEN để quản lý sinh viên (có thêm các thông tin: Điểm thi, Lớp và các phương thức nhập xuất dữ liệu)
Viết chương trình chính thực hiện nhập vào một danh sách n sinh viên, sau đó hiển thị danh sách vừa nhập
Bài 26 Xây dựng lớp “Con người”gồm các thông tin: Họ tên, ngày sinh, quê quán.
Xây dựng lớp dẫn xuất “Cử nhân” ngoài các thông tin của lớp Con người, lớp Cử nhân còn có thêm các thông tin về Ngành học, năm tốt nghiệp (kiểu int) và các phương thức:
- Nhập các thông tin của các Cử nhân
- Xuất các thông tin vừa nhập ra màn hình
Viết chương trình nhập vào mảng danh sách n con người, mỗi thành phần của mảng khởi tạo là một đối tượng cử nhân Đưa ra thông tin cử nhân có năm tốt nghiệp gần nhất
Bài 27 Lớp XE bao gồm các thông tin: nhãn hiệu, giá, năm sản xuất Lớp OTO được
kế thừa từ lớp XE và có thêm các thông tin: số chỗ và trọng tải và các phương thức nhập, xuất Xây dựng chương trình nhập vào n ôtô và xuất ra thông tin ôtô vừa nhập Đưa ra thông tin về những ô tô có trọng tải lớn hơn 1000 tấn
Đưa ra thông tin những ô tô thuộc hãng KIA
Bài 28 Lớp Máy bao gồm các thông tin: Nhãn hiệu, nhà sản xuất, giá thành Lớp
Máy tính ngoài các thông tin của lớp Máy còn có thêm các thông tin: tốc độ, dung lượng RAM, dung lượng HDD Mỗi lớp đều có các phương thức nhập, xuất dữ liệu
Viết chương trình chính nhập vào danh sách n máy tính In ra thông tin của các máy tính vừa nhập
In ra các máy tính của nhà sản xuất IBM Sắp xếp danh sách các máy tính theo chiều tăng dần của giá thành và in danh sách đã sắp xếp ra màn hình
Trang 6Xóa mọi máy tính của hãng Intel sản xuất và in danh sách kết quả ra màn hình.
Bài 29 Xây dựng lớp cơ sở NGUOI có các thông tin sau: Họ tên, Giới tính, Ngày
sinh và các phương thức nhập, xuất dữ liệu
Xây dựng lớp dẫn xuất SINHVIEN để quản lý sinh viên (có thêm các thông tin: Điểm thi, Lớp và các phương thức nhập xuất dữ liệu)
Viết chương trình chính thực hiện nhập vào một danh sách n sinh viên, sau đó hiển thị danh sách vừa nhập Tiến hành thực hiện các công việc sau:
- Tìm kiếm sinh viên theo tên và kết quả trả về lưu trong một mảng mới
- Đếm số sinh viên có kết quả thi đạt loại giỏi (lớn hơn 8 điểm)
- Thêm một sinh viên vào mảng mới
Tìm kiếm sinh viên theo mã sinh viên nhập vào từ bàn phím Nếu tìm được thì tiến hành sửa điểm cho sinh viên đó
Bài 30: Xây dựng lớp “Con người”gồm các thông tin: Họ tên, ngày sinh, quê quán
Xây dựng lớp dẫn xuất “Cử nhân” ngoài các thông tin của lớp Con người, lớp Cử nhân còn có thêm các thông tin về Ngành học, năm tốt nghiệp (kiểu int) và các
phương thức:
Nhập các thông tin của các Cử nhân
Xuất các thông tin vừa nhập ra màn hình
Đưa ra thông tin các Cử nhân có năm tốt nghiệp gần đây nhất
Nhập vào danh sách m Con người và n Cử nhân Xuất các thông tin vừa nhập
Bài 31: Class PERSON gồm các thông tin: Họ tên, ngày sinh, quê quán.
Xây dựng class HOCSINH kế thừa từ class trên và có thêm dữ liệu: lớp (char), điểm toán, lý, hóa (kiểu int) và các phương thức nhập, xuất Yêu cầu cả 2 class trên đều có phương thức khởi tạo Viết chương trình chính nhập vào n học sinh và hiển thị ra màn hình thông tin n học sinh đó bao gồm cả điểm trung bình của học sinh đó
Bài 32:Xây dựng các lớp để quản lý thu nhập hàng tháng của 1 cơ quan, biết rằng:
Cơ quan có 2 dạng người được hưởng lương: biên chế thì hưởng lương theo quỹ lương của nhà nước, và hợp dồng thì hưởng lương theo số giờ làm việc
- Mỗi người trong công ty đều có các thông tin sau: Hoten, số CMND, Phòng ban
- Biên chế: có thông tin riêng là Bậc lương
- Hợp đồng: có thông tin riêng là Số giờ lao động
Trong phương thức Main:
Trang 7- Khởi tạo mảng có 5 nhân viên, trong đó với mỗi nhân viên sẽ cho phép người dùng chọn xem đó là nhân viên biên chế hay nhân viên hợp đồng, nhập và xuất thông tin của họ
- Tìm một nhân viên hợp đồng có số giờ lao động là nhiều nhất
Bài 33: Lớp Máy bao gồm các thông tin: Nhãn hiệu, nhà sản xuất, giá thành Lớp
"Máy tính" ngoài các thông tin của lớp Máy còn có thêm các thông tin: tốc độ, dung lượng RAM, dung lượng HDD Mỗi lớp đều có các phương thức nhập, xuất dữ liệu
Viết chương trình chính nhập vào danh sách n máy tính In ra thông tin của các máy tính vừa nhập
In ra các máy tính của nhà sản xuất IBM Sắp xếp danh sách các máy tính theo chiều tăng dần của giá thành và in danh sách đã sắp xếp ra màn hình
Xóa mọi máy tính của hãng Intel sản xuất và in danh sách kết quả ra màn hình
Bài 34: Xây dựng lớp Hình (Hinh) có phương thức là nhập, hiển thị giá trị cạnh đó.
Xây dựng lớp Hinh2D là kế thừa lớp Hình và có thêm phương thức tính chu vi(tinhchuvi), diện tích (tinhdientich).
Xây dựng lớp Hình vuông (HinhVuong) và Hình chữ nhật (HinhCN) kế thừa lớp Hinh2D.
Xây dựng lớp Hinh3D là kế thừa lớp Hình và có thêm phương thức tính thể
tích
Xây dựng lớp Hình lập phương (HinhLP) và hình hộp chữ nhật (HinhHCN)
kế thừa lớp Hinh3D.
Sau đó tạo lớp Program cùng với hàm static void Main() để thực hiện: Nhập từ bàn phím M đối tượng hình vuông và N đối tượng hình chữ nhật, K đối tượng hình lập phương và T đối tượng hình hộp chữ nhật Hiển thị thông tin các giá trị nhập vào
và tính toán tương ứng với từng đối tượng
Bài 35 Xây dựng lớp phân số:
+ Có 2 thuộc tính là tử số, mẫu số
+ Hàm tạo không tham số, thiết lập mẫu số bằng 1
+ Hàm tạo có 2 tham số truyền vào
+ Phương thức nhập, xuất, cộng, trừ, nhân chia 2 phân số
+ Phương thức cộng static
Trong Main:
+ Khởi tạo đối tượng phân số A bằng hàm khởi tạo không tham số
Trang 8+ Khởi tạo đối tượng phân số B bằng hàm khởi tạo có 2 tham số truyền vào + Gọi hàm nhập cho phân số A
+ Hiển thị phân số A, B
+ hiển thị kết quả cộng, trừ, nhân, chia 2 phân số A, B
Bài 36 Xây dựng lớp biểu diễn khái niệm số phức với hai thành phần dữ liệu thực,
ảo và các khởi tạo không tham số, hàm khởi tạo với 2 tham số truyền vào, phương thức xuất, nhập, định giá trị cho số phức, cộng, trừ, nhân, chia hai số phức Viết chương trình cho phép nhập vào hai số phức, in ra kết quả các phép toán cộng, trừ, nhân, chia hai số phức kể trên (có sử dụng toán tử +, -, *, /, ==, !=, !, >>, <<)
Gợi ý:
Ký hiệu (a, b) = a + b*i thì ta có các phép toán sau:
• (a1, b1) ± (a2, b2) = (a1 ± a2, b1 ± b2)
• (a,b) * (c,d) = (a*c-b*d,a*d+b*c)
Bài 37 Sử dụng phương pháp lập trình hướng đối tượng, xây dựng chương trình
nhập tam giác; tính chu vi, diện tích và in ra màn hình đó là loại tam giác nào: cân, vuông, vuông cân, đều hay thường
Bài 38 Xây dựng lớp cha: Hình:
Trong đó có 1 cạnh a;
Có hàm khởi tạo mặc định k tham số, cạnh a có độ dài là 1
Hàm khởi tạo mặc định có 1 tham số truyền vào
Phương thức: Nhập, xuất, chu vi, diện tích hình
Xây dựng lớp con: Tam giác, hình vuông, hình chữ nhật, hình tròn với số lượng cạnh, phương thức tính chu vi, diện tích theo từng hình
Trong main: Tạo mảng 7 hình: 3 hình tam giác, 2 hình vuông, 1 hình chữ nhật, 1 hình tròn Nhập, tính chu vi, diện tích các hình và xuất
Bài 39 Xây dựng các lớp để quản lý thu nhập hàng tháng của 1 cơ quan, biết rằng:
Cơ quan có 2 dạng người được hưởng lương: biên chế thì hưởng lương theo quỹ lương của nhà nước, và hợp dồng thì hưởng lương theo số giờ làm việc
Mỗi người trong công ty đều có các thông tin sau: Hoten, số CMND, Phòng ban
Biên chế: có thông tin riêng là Bậc lương
Hợp đồng: có thông tin riêng là Số giờ lao động
Trong phương thức Main:
Trang 9- Khởi tạo mảng có 5 nhân viên, trong đó với mỗi nhân viên sẽ cho phép người dùng chọn xem đó là nhân viên biên chế hay nhân viên hợp đồng, nhập và xuất thông tin của họ
- Tìm một nhân viên hợp đồng có số giờ lao động là nhiều nhất
Bài 40 Liệt kê tất cả các thuộc tính và hành động của đối tượng Xe ô tô Đề xuất lớp
Car (Ô tô)
+ Thuộc tính: màu xe, nhãn hiệu, trọng lượng, giá thành
+ Hành động: khởi động xe, chạy xe, dừng xe, tắt máy
- Liệt kê các thuộc tính và hành động của đối tượng Xe buýt Đề xuất lớp Bus
+ Thuộc tính: màu xe, số chỗ ngồi, trọng lượng, tuyến xe
+ Hành động: khởi động xe, chạy xe, dừng xe, tắt máy
- Từ hai lớp Car và Bus của bài 2 và bài 3 Đề xuất một lớp Động cơ (Engine) cho
hai lớp trên kế thừa, để tránh trùng lặp dữ liệu giữa hai lớp Car và Bus
III MÔI TRƯỜNG GIAO DIỆN
Bài 41: Thiết kế form như hình bên dưới
Viết lệnh để chương trình hoạt động như sau: Người sử dụng sẽ nhập Password vào textbox, sau đó nhấn nút “Hiển Thị’ thì nội dung của password sẽ được hiễn thị ra trên label bên dưới
Bài 42: Sử dụng các sự kiện (event) cơ bản trên Form Thiết kế form chỉ chứa 1
button (xem hình) Khi bấm vào nút lệnh Click Me, sẽ xuất hiện hộp thoại thông báo, Bạn đã bấm vào tôi
Bài 43 Thiết kế giao diện như hình sau:
Trang 10Viết lệnh để chương trình hoạt động như sau:
- Nhấn vào Button btnHo thì gán nội dung của txtHo cho lblHoTen
- Nhấn vào Button btnTen thì gán nội dung của txtTen cho lblHoTen
- Nhấn vào Button btnHoTen thì gán nội dung của txtHo cộng với txtTen cho lblHoTen
Bài 44: Sử dụng các thuộc tính Layout trên Form Với giao diện của bài 2, yêu cầu
sinh viên sửa code sao cho khi người sử dụng resize kích thước form, thì các đối tượng trên form vẫn được sắp xếp hợp lý, dễ nhìn
Bài 45: Kết hợp sử dụng layout:
a Các đối tượng được “neo” sao cho khi người dùng thay đổi kích thước form thì các đối tượng được resize kích thước sao cho “dễ nhìn”
b picTurnOn được hiển thị, picTurnOff được ẩn ngay bên dưới picTurnOn Khi người dùng đưa chuột vào picTurnOn sẽ xuất hiện tip “Click me to Turn OFF the Light!”, và ngược lại trên picTurnOFF
c Hiện tên mặc định vào ô Name
d Lable ngay bên dưới pictureBox hiển thị thông báo “Jack Turn Off the Light,please!”
Bài 46: Thiết kế form có cấu trúc