[Java的] 锻炼Java库管理
主题:
库来管理文件包括:, 书, 刊物, 报纸
+ 每个文件都有属性: 文档代码, 版本说明, 版本号.
+ 这些书需要管理: 作者名称, 页数
+ 期刊需要管理: 发行数量, 可能释放
+ 报纸应管理: 发布日期.
1. 施工层来管理如何得到最重用的文档类型.
2. 建设QLThuVien类安装方法执行以下任务:
+ 输入信息的N个文档的列表
+ 显示有关导入文档信息
乔国防部代码congdongjava.com
import java.util.Scanner; class TaiLieu { String maTaiLieu, tenNhaXuatBan; int soBanPhatHanh; Scanner scan = new Scanner(System.in); public void input( ) { System.out.print("Nhap ma tai lieu: "); maTaiLieu = scan.nextLine(); System.out.print("Nhap ten nha xuat ban: "); tenNhaXuatBan = scan.nextLine(); System.out.print("Nhap so ban phat hanh: "); soBanPhatHanh = scan.nextInt(); //scan.nextLine(); //scan.close(); } public void output( ) { System.out.printf("%20s %20s %20s %20s %20s %20s %20s %20sn", "Ma Tai Lieu", "Nha Xuat Ban", "So Ban Phat Hanh", "Tac Gia Sach", "So Trang Sach", "So Phat Hanh", "Thang Phat Hanh", "Ngay Phat Hanh"); System.out.printf("%20s %20s %20d", maTaiLieu, tenNhaXuatBan, soBanPhatHanh); } public void close() { scan.close(); } } class Sach extends TaiLieu implements Type { String tenTacGia; int soTrang; @Override public void input( ) { super.input( ); System.out.print("Nhap ten tac gia cuon sach: "); tenTacGia = scan.nextLine(); System.out.print("Nhap so trang cuon sach: "); soTrang = scan.nextInt(); //scan.nextLine(); //scan.close(); } public void output( ) { super.output(); System.out.printf("%20s %20d %20s %20s %20s", tenTacGia, soTrang, " ", " ", " "); } } class TapChi extends TaiLieu implements Type { String soPhatHanh; int thangPhatHanh; @Override public void input( ) { } public void output( ) { System.out.printf("%20s %20s %20s %20d %20s", " ", " ", soPhatHanh, thangPhatHanh, " "); } } class Bao extends TaiLieu implements Type { int ngayPhatHanh; @Override public void input( ) { } public void output( ) { System.out.printf("%20s %20s %20s %20d %20s", " ", " ", " ", ngayPhatHanh, " "); } } interface Type { public void input( ); public void output( ); } public class QuanLyThuVien { int n; TaiLieu taiLieu[]; public void input() { Scanner scan = new Scanner(System.in); System.out.print("Nhap so tai lieu: "); n = scan.nextInt(); scan.nextLine(); taiLieu = new TaiLieu[n]; for (int i = 0; i < n; i++) { System.out.print("Nhap loai tai lieu: (sach, tapchi, bao) "); String loai = scan.nextLine(); if (loai.equals("sach")) taiLieu[i] = new Sach(); else if (loai.equals("tapchi")) taiLieu[i] = new TapChi(); else if (loai.equals("bao")) taiLieu[i] = new Bao(); else continue; taiLieu[i].input(); } scan.close(); } public void output() { for (int i = 0; i < n; i++) { taiLieu[i].output(); } } public static void main(String[] args) { QuanLyThuVien ql = new QuanLyThuVien(); ql.input(); ql.output(); } }
但是这样做,如果想从任何信息 1 具体的目标是不 (VD输出命名文档的作者,如果它是第i个) 毕竟我不得不换 1 代码如下所示纳.
package School; import java.util.Scanner; class TaiLieu { private String maTaiLieu, tenNhaXuatBan; private int soBanPhatHanh; Scanner scan = new Scanner(System.in); public void input() { System.out.print("Nhap ma tai lieu: "); maTaiLieu = scan.nextLine(); System.out.print("Nhap ten nha xuat ban: "); tenNhaXuatBan = scan.nextLine(); System.out.print("Nhap so ban phat hanh: "); soBanPhatHanh = Integer.parseInt(scan.nextLine()); } public void ouputTitle() { System.out.printf("%-20s %-20s %-20s %-20s %-20s %-20s %-20s %-20sn", "Ma Tai Lieu", "Nha Xuat Ban", "So Ban Phat Hanh", "Tac Gia Sach", "So Trang Sach", "So Phat Hanh", "Thang Phat Hanh", "Ngay Phat Hanh"); } public void output() { System.out.printf("%-20s %-20s %-20d", maTaiLieu, tenNhaXuatBan, soBanPhatHanh); } } class Sach extends TaiLieu { private String tenTacGia; private int soTrang; public String getTenTacGia() { return tenTacGia; } public void setTenTacGia(String tenTacGia) { this.tenTacGia = tenTacGia; } public int getSoTrang() { return soTrang; } public void setSoTrang(int soTrang) { this.soTrang = soTrang; } @Override public void input() { Scanner scan = new Scanner(System.in); super.input(); System.out.print("Nhap ten tac gia cuon sach: "); tenTacGia = scan.nextLine(); System.out.print("Nhap so trang cuon sach: "); soTrang = Integer.parseInt(scan.nextLine()); } public void output() { super.output(); System.out.printf("%-20s %-20d %-20s %-20s %-20sn", tenTacGia, soTrang, " ", " ", " "); } } class TapChi extends TaiLieu { private int soPhatHanh; private int thangPhatHanh; public int getSoPhatHanh() { return soPhatHanh; } public void setSoPhatHanh(int soPhatHanh) { this.soPhatHanh = soPhatHanh; } public int getThangPhatHanh() { return thangPhatHanh; } public void setThangPhatHanh(int thangPhatHanh) { this.thangPhatHanh = thangPhatHanh; } @Override public void input() { Scanner scan = new Scanner(System.in); super.input(); System.out.print("Nhap so phat hanh: "); soPhatHanh = Integer.parseInt(scan.nextLine()); System.out.print("Nhap thang phat hanh: "); thangPhatHanh = Integer.parseInt(scan.nextLine()); } public void output() { super.output(); System.out.printf("%-20s %-20s %-20s %-20d %-20sn", " ", " ", soPhatHanh, thangPhatHanh, " "); } } class Bao extends TaiLieu { private int ngayPhatHanh; public int getNgayPhatHanh() { return ngayPhatHanh; } public void setNgayPhatHanh(int ngayPhatHanh) { this.ngayPhatHanh = ngayPhatHanh; } @Override public void input() { Scanner scan = new Scanner(System.in); super.input(); System.out.print("Nhap ngay phat hanh: "); ngayPhatHanh = Integer.parseInt(scan.nextLine()); } public void output() { super.output(); System.out.printf("%-20s %-20s %-20s %-20d %-20sn", " ", " ", " ", ngayPhatHanh, " "); } } public class QuanLyThuVien { int n; TaiLieu taiLieu[]; public void input() { Scanner scan = new Scanner(System.in); System.out.print("Nhap so tai lieu: "); n = Integer.parseInt(scan.nextLine()); taiLieu = new TaiLieu[n]; for (int i = 0; i < n; i++) { System.out.print("Nhap loai tai lieu: (sach, tapchi, bao) "); String loai = scan.nextLine(); if (loai.equals("sach")) taiLieu[i] = new Sach(); else if (loai.equals("tapchi")) taiLieu[i] = new TapChi(); else if (loai.equals("bao")) taiLieu[i] = new Bao(); else { --i; continue; } taiLieu[i].input(); } scan.close(); } public void output() { taiLieu[0].ouputTitle(); for (int i = 0; i < n; i++) { taiLieu[i].output(); } } // Neu muon lay du lieu tu cac lop con public void outputTenTacGia() { for (int i = 0; i < n; i++) { if (taiLieu[i] instanceof Sach) System.out.println("Tac gia cuon sach thu " + (i + 1) + " la : " + ((Sach) taiLieu[i]).getTenTacGia()); } } public static void main(String[] args) { QuanLyThuVien ql = new QuanLyThuVien(); ql.input(); ql.output(); ql.outputTenTacGia(); } }
最新评论