Bài 15- Bài tập quản lý học sinh với thao tác ghi, xuất file trong Java

Bài 15 quản lý sinh viên với việc ghi, xuất file trong java


Đề bài:
Ở đây, mình thực hành cô Xuân, nên chỉ có yêu cầu như sau:
Trong bài này, có yêu cầu nhập xuất file, là một yêu cầu mới

Code đầy đủ:

  • Phần dưới có thể thiếu, tải về đây để đúng yêu cầu bài
  • Code để tham khảo, Chúc các bạn sẽ học tập tốt.

Tạo class nguoi.java

package TH5.bai15;
import java.io.Serializable; // thu vien nay de doc file o class dshocsinh.java
import java.util.Scanner;
public class NGUOI implements Serializable {
public String hoTen, gioiTinh;
public NGUOI() {
super();
hoTen ="";
gioiTinh ="";
}
public NGUOI(String hoTen, String gioiTinh) {
this.hoTen = hoTen;
this.gioiTinh= gioiTinh;
}
public void nhap() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhap ho ten: ");
hoTen = sc.nextLine();
System.out.print("Nhap gioi tinh: ");
gioiTinh = sc.nextLine();
}
public void xuat() {
System.out.printf("%20s%20s", hoTen, gioiTinh);
}
public String getHoTen() {
return hoTen;
}
@Override
public String toString() {
return "NGUOI{" +
"hoTen='" + hoTen + '\'' +
", gioiTinh='" + gioiTinh + '\'' +
'}';
}

 Tạo class hocSinh.java để quản lý thông tin 1 học sinh

package TH5.bai15;
import java.util.Scanner;
public class HOCSINH extends NGUOI {
public String tenLop;
public HOCSINH() {
super();
hoTen = "";
gioiTinh ="";
tenLop = "";
}
public HOCSINH(String hoTen, String gioiTinh, String tenLop) {
this.gioiTinh = gioiTinh;
this.hoTen = hoTen;
this.tenLop = tenLop;
}
public void nhap() {
Scanner sc = new Scanner(System.in);
super.nhap();
System.out.print("Nhap ten lop: ");
tenLop = sc.nextLine();
}
public void xuat() {
super.xuat();
System.out.printf("%20s\n", tenLop);
}
@Override
public String toString() {
return "HOCSINH{" +
"hoten='" + hoTen + '\'' +
", gioitinh='" + gioiTinh + '\'' +
", lop='" + tenLop + '\'' +
'}';
}
}

Tạo lớp DSHOCSINH.java để quản lý các học sinh

Phần này có đọc, ghi file trong java
package TH5.bai15;
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class DSHOCSINH {
ArrayList<HOCSINH> DS;
public void nhap() {
int n, i;
Scanner sc = new Scanner(System.in);
do {
System.out.print("\nNhap so hoc sinh: ");
n = sc.nextInt();
} while (n <= 0);
DS = new ArrayList<>(n);
for (i = 0; i < n; i++) {
HOCSINH x = new HOCSINH();
System.out.printf("Nhap hoc sinh thu %d: \n", i + 1);
x.nhap();
DS.add(x);
}
}
public void xuat() {
System.out.printf("%20s%20s%20s\n", "ho ten", "gioi tinh", "lop");
for (HOCSINH x : DS) {
x.xuat();
}
}
public void gioiTinh() {
Scanner sc = new Scanner(System.in);
String gT;
System.out.print("\nNhap vao gioi tinh: ");
gT = sc.nextLine();
System.out.print("\nDanh sach theo gioi tinh: \n");
for (HOCSINH x : DS) {
if (gT.equals(x.gioiTinh) == true) {
x.xuat();
}
}
}
public void ghiFile() {
try {
FileOutputStream fileOut = new FileOutputStream("input.txt");
ObjectOutputStream objOut = new ObjectOutputStream(fileOut);
objOut.flush();
objOut.writeObject(DS);
objOut.close();
fileOut.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public void docFile() {
try {
DS = new ArrayList<HOCSINH>();
FileInputStream fin = new FileInputStream("input.txt");
ObjectInputStream fout = new ObjectInputStream(fin);
DS = (ArrayList)fout.readObject(); for(HOCSINH x:DS) {
x.xuat();
}
fin.close();
fout.close();
}
catch(FileNotFoundException e) {
System.out.print("\nKhong thay file.");
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}

Tạo class bai15.java có menu để gọi ra các yêu cầu

Tải và xem ở mục code đầy đủ

Kết quả test:



COMMENTS

BLOGGER: 3
  1. Cảm ơn bài viết của a!
    mà a ơi nếu a làm xong bài thực hành 6 gửi cho e với a nhé tại t4 em học TH buổi cuối.

    Trả lờiXóa
    Trả lời
    1. A mới viết bài 16 thôi Huy. Chắc bài 17,18 không biết kịp t4 đâu.. Bận quá ý

      Xóa
Tên bạn chỉ hiện unknown,đổi tên ở đây:
https://www.blogger.com/edit-profile.g

Tên

bài viết hay,4,Bài viết khác,1,cấu trúc dữ liệu và giải thuật,3,fithou,36,ghim,4,giải tích 2,1,Hướng dẫn,5,Lập trình C,1,lập trình hướng đối tượng,3,Lập trình java,1,phần mềm,2,phần mềm lập trình,2,sách,1,tác phẩm đồ họa,3,tản mạn,4,Thiết kế web,3,thực hành lập trình cơ sở,18,thực hành lập trình hướng đối tượng,16,
ltr
item
Blog NDanh: Bài 15- Bài tập quản lý học sinh với thao tác ghi, xuất file trong Java
Bài 15- Bài tập quản lý học sinh với thao tác ghi, xuất file trong Java
Bài 15 quản lý sinh viên với việc ghi, xuất file trong java
https://1.bp.blogspot.com/-wIQT3DJWB0M/XuWDVuR-NMI/AAAAAAAAg10/3gH166_IIvw_RDJzbpvnznwWdWidB3zmwCK4BGAsYHg/d/banner-blog.png
https://1.bp.blogspot.com/-wIQT3DJWB0M/XuWDVuR-NMI/AAAAAAAAg10/3gH166_IIvw_RDJzbpvnznwWdWidB3zmwCK4BGAsYHg/s72-c-d/banner-blog.png
Blog NDanh
https://blog.ndanh.com/2020/04/bai-15-bai-tap-quan-ly-hoc-sinh-voi.html
https://blog.ndanh.com/
https://blog.ndanh.com/
https://blog.ndanh.com/2020/04/bai-15-bai-tap-quan-ly-hoc-sinh-voi.html
true
1596452775547375681
UTF-8
Tải tất cả bài viết Không tìm thấy bài viết nào XEM TẤT CẢ Đọc thêm Trả lời Hủy trả lời Xóa Bởi Trang chủ PAGES POSTS Xem tất cả Bài viết đề xuất CHỦ ĐỀ LƯU TRỮ SEARCH TẤT CẢ BÀI VIẾT Không tìm thấy nội dung của bạn Quay về trang chủ Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow CHIA SẺ ĐỂ XEM NỘI DUNG Bước 1: Chia sẻ lên facebook chế độ công khai Bước 2: Vào facebook, ấn vào bài đã chia sẻ công khai để hiện nội dung! Click Copy All Code Select All Code Code của bạn đã được copy Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content