• Không có kết quả nào được tìm thấy

Nội dung thực hành chính:

N/A
N/A
Protected

Academic year: 2022

Chia sẻ "Nội dung thực hành chính: "

Copied!
6
0
0

Loading.... (view fulltext now)

Văn bản

(1)

HƯỚNG DẪN THỰC HÀNH

Học phần: Lập trình Java Bài thực hành số 3:

Nội dung thực hành chính:

- Tính kế thừa trong Java - Quản lý danh sách trong Java

Nội dung thực hành liên quan:

- Cách xây dựng lớp trong Java - Nhập dữ liệu từ bàn phím

- Tính đóng gói dữ liệu trong Java

Đề bài:

Để quản lý hồ sơ học sinh của trường THPT, người ta cần quản lý những thông tin như sau:

- Các thông tin về: lớp, khoá học, kỳ học, và các thông tin cá nhân của mỗi học sinh.

- Với mỗi học sinh, các thông tin cá nhân cần quản lý gồm có: Họ và tên, ngày sinh, quê quán.

1. Hãy xây dựng lớp Nguoi để quản lý các thông tin cá nhân của mỗi học sinh.

2. Xây dựng lớp HocSinh (học sinh) để quản lý các thông tin về mỗi học sinh.

3. Xây dựng các phương thức: nhập, hiển thị các thông tin về mỗi cá nhân.

4. Cài đặt chương trình thực hiện các công việc sau:

- Nhập vào một danh sách gồm n học sinh ( n- nhập từ bàn phím)

- Hiển thị ra màn hình tất cả những học sinh sinh năm 1985 và quê ở Thái Nguyên - Hiển thị ra màn hình tất cả những học sinh của lớp 10A1

B1: Đặc tả yêu cầu

(2)

- Căn cứ vào đầu bài

B2: Phân tích thiết kế

- Chương trình bao gồm những lớp nào? Mối quan hệ giữa các lớp ra sao?

- Trong mỗi lớp bao gồm các thuộc tính nào? Kiểu dữ liệu và giới hạn truy xuất, bổ nghĩa truy xuất của các thuộc tính?

- Trong mỗi lớp bao gồm các phương thức nào? Danh sách tham số truyền vào, kiểu dữ liệu trả về, giới hạn truy xuất, bổ nghĩa truy xuất của các phương thức?

Ghi chú: Sinh viên hoàn thiện thiết kế chi tiết cho lớp HocSinh và QLHS (Quản lý học sinh)

- Thiết kế sử dụng công cụ UMLetino: http://www.umlet.com/umletino/umletino.html (Ký hiệu UML biểu diễn giới hạn truy xuất: +: public, -: private, # protected, ~:

package)

- Lớp HocSinh ghi đè phương thức nhapThongTin() và inThongTin() trong lớp cha

(3)

- Xem thêm ví dụ về ArrayList tại: https://www.javatpoint.com/java-arraylist

B3: Lập trình

import java.util.Date;

import java.util.Scanner;

import java.text.SimpleDateFormat ; public class Nguoi

{

protected String hoTen;

protected Date ngaySinh;

protected String queQuan;

public Nguoi(){

}

public Nguoi(String hoTen, Date ngaySinh){

this.hoTen = hoTen;

...<?>...

}

public Nguoi(String hoTen, Date ngaySinh, String queQuan){

this(hoTen, ngaySinh);

...<?>...

}

public void nhapThongTin(Scanner sc){

System.out.print("Nhap ho ten: ");

hoTen = sc.nextLine();

(4)

...<?>...

}

public Date stringToDate(String ngaySinh){

Date ngaySinhDate = null;

// <Tham khảo: https://examples.javacodegeeks.com/core-java/text/java-simpledateformat-example>

return ngaySinhDate;

}

public void inThongTin(){

...<?>...

} }

import <?>;

import <?>;

public class HocSinh extends Nguoi {

<?> String lop;

<?> String khoaHoc;

<?> int kyHoc;

public HocSinh(){}

public HocSinh(String hoTen, Date ngaySinh, String lop, int khoaHoc){

super(hoTen, ngaySinh);

...<?>...

}

(5)

public HocSinh(String hoTen, String lop, String khoaHoc){

...?...

}

< ?> < ?> nhapThongTin(Scanner sc){

super.nhapThongTin(sc);

..<?>...

}

< ?> < ?> inThongTin(){

super.inThongTin();

...<?>...

}

public <?> getLop(){

return <?>;

} }

import java.util.ArrayList;

import java.util.Scanner;

public class QLHS {

<?> ArrayList<HocSinh> dshs;

public QLHS(){

//...<Khởi tạo danh sách với 100 phần tử>...

}

(6)

public void themHocSinh(HocSinh hs){

//...<Thêm vào ArrayList dùng phương thức add()>...

}

public void nhapDanhSach(Scanner sc){

//...<Nhập số học sinh cần nhập n>...

//...<Vòng lặp 0->(n-1): nhập thông tin học sinh và thêm vào danh sách>...

}

public void inDanhSach(){

//...<Dùng vòng lặp foreach duyệt qua dshs để in thông tin mỗi học sinh>...

}

public void timKiemHocSinh(int namSinh, String queQuan){

//...<Duyệt dshs, so sánh thông tin năm sinh và quê quán, nếu trùng thì in ra>...

}

public void timKiemHocSinh(String lop){

//...<Duyệt dshs, so sánh thông tin lớp, nếu trùng thì in ra>...

}

public static void main(String[] args){

QLHS qlhs = new QLHS();

Scanner sc = new Scanner(System.in);

qlhs.nhapDanhSach(sc);

qlhs.timKiemHocSinh(1985, "Thai Nguyen");

qlhs.timKiemHocSinh("10A1");

} }

Tài liệu tham khảo

Tài liệu liên quan

- Học sinh nghiên cứu tài liệu, kết hợp hướng dẫn của giáo viên để hiểu biết về nhảy xa và tự tập để thực hiện cơ bản đúng các động tác bổ trợ nhảy xa kiểu ngồi: Nhảy

Trong hộp thoại Format Cells, chọn Number, chọn Currency trong danh sách Categogy, nháy dấu trỏ xuống ở đầu bên phải hộp Symbol để thả danh sách tất cả

đựng và bản hướng dẫn kèm theo (nếu có) để biết hạn sử dụng, nơi sản xuất, tác dụng và cách dùng thuốc... Vitamin C. Vitamin B1

- Giữ cho môi trường trong lành sạch đẹp, bảo đảm cân bằng sinh thái, cải thiện môi trường. - Ngăn chặn, khắc phục các hậu quả xấu. - Khai thác, sử dụng hợp

đựng và bản hướng dẫn kèm theo (nếu có) để biết hạn sử dụng, nơi sản xuất, tác dụng và cách dùng thuốc... Vitamin C. Vitamin B1

HS: suy nghĩ trả lời, bổ sung bạn, gv chốt Trang web là một siêu văn bản được gán địa chỉ truy cập trên Internet. Địa chỉ truy cập được gọi là địa chỉ trang

3 trong tiết học này các em sẽ ôn lại những hoạt động trong khu dân cư và làm quen với một cấu trúc ngữ pháp mới là : thì hiện tại hoàn thành. 4 Các em nhìn vào đoạn

Chúng tôi theo dõi và ghi nhận các biến cố lâm sàng, tìm hiểu mối liên quan với sự phân bố theo từng kiểu gen CYP2C19, thấy tỷ lệ biến chứng xuất hiện ở nhóm có kiểu