创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务10 文件和流
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务09 容器和泛型
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务08 字符串 异常 日期 static
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

package an18;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

public class Book extends Commodity {
	
	private String author;
	private String ISBN;
	
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public String getISBN() {
		return ISBN;
	}
	public void setISBN(String ISBN) {
		this.ISBN = ISBN;
	}
	
	public void add(Commodity c) {
		
		if(c instanceof Book) {			
			Book a=(Book) c;
			System.out.println("请输入图书信息:");
			System.out.println("编号");
			a.number=in.nextLine();
			System.out.println("名称");
			a.name=in.nextLine();
			System.out.println("数量");
			a.amount=in.nextInt();
			String dj =in.nextLine();
			System.out.println("作者");
			a.author=in.nextLine();
			System.out.println("ISBN号");
			a.ISBN=in.nextLine();
			try {
				FileReader fileReader =new FileReader("F:\\produce.txt");
				Writer writer=new FileWriter("F:\\produce.txt",true);
				writer.write(this.toString()+"\r\n");
				writer.close();
				System.out.println("图书添加成功");
				this.classity=1;
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	@Override
	public String toString() {		
		return "编号:"+number+"名称:"+name+"数量:"+amount+"作者:"+author+"ISBN号:"+ISBN;
	}
}


package an18;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

public class DVD extends Commodity {

	private String ISRC;

	public String getISRC() {
		return ISRC;
	}

	public void setISRC(String ISRC) {
		this.ISRC = ISRC;
	}
	public void add(Commodity c) {
		if(c instanceof DVD) {
			DVD b= (DVD) c;
			System.out.println("请输入DVD信息:");
			System.out.println("编号");
			b.number=in.nextLine();
			System.out.println("名称");
			b.name=in.nextLine();
			System.out.println("数量");
			b.amount=in.nextInt();
			String dj=in.nextLine();
			System.out.println("ISRC号");
			b.ISRC=in.nextLine();
			try {
				FileReader fileReader =new FileReader("F:\\produce.txt");
				Writer writer=new FileWriter("F:\\produce.txt",true);
				writer.write(this.toString()+"\r\n");
				writer.close();
				System.out.println("DVD添加成功");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	@Override
	public String toString() {
		
		return "编号:"+number+"名称:"+name+"数量:"+amount+"ISRC号:"+ISRC;
	}
}


package an18;

import java.util.Date;

import java.util.Scanner;

import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.text.DateFormat;

public class BorrowRecord {

	Scanner in = new Scanner(System.in);
	protected Vip v= new Vip();
	protected Commodity c=new Commodity();
	public void borrowRecord(Vip v,Commodity c) {
		this.v=v;
		this.c=c;
		System.out.println("请输入你的姓名:");
		String name =in.nextLine();
		v.setName(name);
		try {
			DateFormat aa=DateFormat.getDateTimeInstance(); 
			String bb=aa.format(new Date()); 
			Writer writer = new FileWriter("F:\\record.txt",true);
			writer.write(bb+":"+"借阅:"+v.toString()+"\t"+c.toString()+"\r\n");
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public void backRecord(Vip v,Commodity c) {
		try {
			DateFormat aa=DateFormat.getDateTimeInstance(); 
			String bb=aa.format(new Date());
			Writer writer = new FileWriter("F:\\record.txt",true);
			writer.write(bb+":"+v.getName()+"归还:" +c.name+"\r\n");
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


package an18;
import java.util.Scanner;
public class Test {

	public static void main(String [] args) {
		Scanner in = new Scanner(System.in);
		int number2=10000;
		int number3=10000;
		int number4=10000;
		BorrowRecord record=new BorrowRecord();
		Vip [] v = new Vip[number2];
		Commodity [] c1 =new Commodity[number3];
		BorrowRecord [] ll=new BorrowRecord[number4];
		int number5=0;
		int number6=0;
		int number7=0;
		int number1=0;
			System.out.println("1.新增会员");
			System.out.println("2.新增商品");
			System.out.println("3.借书或DVD");
			System.out.println("4.还书或DVD");
			System.out.println("5.显示所有会员信息");
			System.out.println("6.显示所有商品信息");
			System.out.println("7.退出程序");
			int choose =in.nextInt();
			String dj=in.nextLine();
			switch (choose) {
			case 1:
				v[number5]=new Vip();
				v[number5].add();
				number5++;
				number7++;
				break;
			case 2:
				System.out.println("增加商品的种类");
				System.out.println("x:Book");
				System.out.println("y:DVD");
				String lei=in.nextLine();
				if (lei.equals("x")) {
					c1[number6]=new Book();
					c1[number6].add(c1[number6]);
					number6++;
				}else {
					c1[number6]=new DVD();
					c1[number6].add(c1[number6]);
					c1[number6].classity=1;
					number6++;
				}
				break;
			case 3:
				int i,j;
				System.out.println("请输入你想借阅的图书或DVD的名称或编号");
				String str=in.nextLine();
				System.out.println("情输入你的名字");
				String name=in.nextLine();
				for(i=0;i<number6;i++) {
					c1[i].find(str);
					break;
				}
				for(j=0;j<number5;j++) {
					v[j].find(name);
					break;
				}
				
				if(c1[i]==null) {
					System.out.println("没有这本书!");
					break;
				}
				else if(c1[i].classity==1) {
					c1[i].classity--;
					ll[number7]=new BorrowRecord();
					ll[number7].borrowRecord(v[j], c1[i]);
					System.out.println("借阅成功!");
				}else {
					System.out.println("该书已被借阅");
					break;
				}
				number6--;
				number7++;
				break;
			case 4:
				int a;
				System.out.println("请输入你的名字");
				String name1=in.nextLine();
				for(a=0;a<number5;a++) {
					if(v[a].find(name1));
						break;
				}
				System.out.println("请输入你想归还图书或DVD的名称或编号");
				str =in.nextLine();
				for(i=0;i<number6;i++) {
					c1[i].find(str);
					break;
				}
				if(c1[i]==null) {
					System.out.println("这本书不是我们图书馆的");
					break;
				}else if(c1[i].classity==0) {
					c1[number6].classity++;
					ll[number7].backRecord(v[a],c1[i]);
					System.out.println("归还成功!");					
				}else {
					System.out.println("该书没有被借出");
					break;
				}
				ll[number7].backRecord(v[a],c1[i]);
				number6++;
				number7++;
				break;
			case 5:
				for(int b=0;b<=number5;b++) {
					v[b].display(v[b]);
				}
				break;
			case 6:
				for(int b=0;b<=number6;b++) {
					c1[b].display();
				}
				break;
			case 7:
				number1=7;
			}
			while (number1==0);
	}
}



package an18;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Scanner;

public class Vip {

	Scanner in=new Scanner(System.in);
	
	private int number1;
	private String name;
	private String phoneNumber;
	public int getNumber1() {
		return number1;
	}
	public void setNumber1(int number1) {
		this.number1 =number1;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPhoneNumber() {
		return phoneNumber;
	}
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}
	
	public void add() {
		System.out.println("编号");
		this.number1=in.nextInt();
		String dj=in.nextLine();
		System.out.println("电话");
		this.phoneNumber=in.nextLine();
		System.out.println("名字");
		this.name=in.nextLine();
		try {
			FileReader fileReader =new FileReader("F:\\member.txt");
			Writer writer=new FileWriter("F:\\member.txt",true);
			writer.write(this.toString()+"\r\n");
			writer.close();
			System.out.println("会员添加成功");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public boolean find(String str) {
		if(this.name.equals(str)) {
			System.out.println(this.toString());
			return true;
		}else {
			return false;
		}
	}
	
	public void display(Vip m) {
		System.out.println(m.toString());
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "编号:"+number1+" 名字:"+name+" 电话:"+phoneNumber;
	}
}


package an18;
import java.util.Scanner;
public class Commodity {

	Scanner in = new Scanner(System.in);
	protected String name;
	protected int amount;
	protected String number;
	protected int classity;
	
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAmount() {
		return amount;
	}
	public void setAmount(int amount) {
		this.amount = amount;
	}
	
	public void add(Commodity c) {
		System.out.println("请输入编号,名称,数量");
		c.number=in.nextLine();
		String dj=in.nextLine();
		c.name=in.nextLine();
		c.amount=in.nextInt();
		System.out.println("添加成功");
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return this.getName()+this.getNumber()+this.getAmount();
	}
	public void find(String str) {
		if(this.name.equals(str)||this.number.equals(str)){
			if(this instanceof Book) {
				Book a = (Book) this;
				System.out.println(a.toString());
			}else {
				if(this instanceof DVD) {
					DVD b = (DVD) this;
					System.out.println(b.toString());
				}
			}
		}
	}
	public void display() {
		if(this instanceof Book) {
			Book a=(Book) this;
			System.out.println(this.toString());
		}else {
			Commodity c=(Commodity) this;
			System.out.println(this.toString());
		}
			
	}
}


这个程序可以实现
(1)对会员的添加,保存会员编号,姓名,联系电话等以及对会员信息的更改和对会员信息的查询和删除
(2)对图书和DVD的添加,保存图书和DVD编号,名称,数量,作者,isbn号,isrc号和对图书,DVD的增添,删除
(3)对图书或者DVD的借阅信息进行记录,包括读者信息、图书或者DVD信息、借阅时间等信息,借阅操作中要对会员和图书的有效性进行验证

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务07 大作业
认真阅读下列要求,完成代码编写提交要求(1)请提交程序和相应的程序功能说明文档,在程序功能说明文档中写清楚每个类的功能;(2)将自己的程序和自己的程序功能说明文档压缩上传附件;(3)压缩文件命名方式:学号-姓名,如:2017001001-张三;(4)本次作业不仅限于题目所给...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务06 类的继承、抽象类和接口
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务05 类和对象(3)、继承(1)
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务04 类和对象(2)
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务03 类和对象(1)
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务02 Java基础、数组
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

创建了 #2018-2019第一学期面向对象程序设计# 任务:

任务01 Java概述
认真阅读下列要求,完成代码编写1.  提交任务时,将本次任务中的子任务同时进行提交。2.  提交代码时,请将代码放入Java代码框中提交。 3.  命名规范:类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。格式: S...

课程学员
5-刘佳豪
8班-梁子昭
6-曹倩
3-刘博文
1-黄天润
3-谷佩芸
1-张鑫涛
5-孙建旺
6-孟宜壕