标题: java 按照题目所给变量名称、类型和方法名称进行编程 求帮助 [打印本页]
作者: zhazhazhai 时间: 2018-5-31 21:35
标题: java 按照题目所给变量名称、类型和方法名称进行编程 求帮助
按题目编程实现下列功能。
要求:按照题目所给变量名称、类型和方法名称进行编程,禁止修改;
1. 图书馆接口(Library)
成员方法:
borrow( ),借阅图书
revert( ),归还图书
2. 图书类(Book)
成员变量:
图书名称(name) String类型
出版社(publisher) String类型
构造方法:
通过形参初始化图书名称(name)和出版社(publisher)
普通方法:
(1)设置gettor和settor方法用于获取和设置类中name变量的值;
(2)重写Equals方法,当且仅当书名(name)和出版社(publisher) 均相等时,即为同一本书。
(3)重写toString方法,返回书名(name)和出版社(publisher)的信息,样式如下:“书名:Java程序设计,出版社:清华大学出版社”
3. 馆藏图书类(CollectionBook),继承自Book类,实现Library接口
成员变量:
图书编号(bNo) String类型
所在书库(stacks) String类型
是否借阅(isBorrow) boolean类型 图书状态为已借阅时,值为true
构造方法:
调用父类构造方法初始化书名(name)和出版社(publisher)信息,然后初始化图书编号(bNo)和线路图书书库(stacks)。
普通方法:
(1)实现接口中的borrow方法
如果图书状态为已借阅,则输出“对不起,该图书已借阅”,否则,修改该图书状态为已借阅,输出“借阅成功”
(2)实现接口中的revert方法
如果图书状态是可借阅状态,输出“该图书已归还”,否则,修改图书借阅状态为未借阅,并输出“还书成功”;
4. 通过main函数测试。
(1)创建两个CollecitonBook对象book1和book2,分别输出book1和book2,并调用其equals方法判断两个对象是否相等;
(2)通过键盘输入整数,输入0,则对book1进行借阅,输入1,则对book进行归还操作。
作者: 马文飞 时间: 2018-6-2 16:20
package 图书馆;
import java.util.Scanner;
interface Library{ //图书馆接口(Library)
abstract void borrow();
abstract void revert();
}
abstract class Book{ //图书类(Book)
String name;
String publisher;
public Book(String name,String p){
this.name=name;
publisher=p;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return "Book [书名:" + name + " , 出版社:" + publisher + " ]";
}
}
class CollectionBook extends Book implements Library{
String bNo;
String stacks;
boolean isBorrow;
public CollectionBook(String name,String p,String bNo, String stacks,boolean isBOrrow) {
super(name, p);
this.bNo=bNo;
this.stacks=stacks;
isBOrrow=true;
}
public void borrow() {
if (isBorrow==true) {
System.out.println("对不起,该图书已借阅");
}
else {
isBorrow=true;
System.out.println("借阅成功");
}
}
public void revert() {
if (isBorrow!=true) {
System.out.println("该图书已归还");
}
else {
isBorrow=false;
System.out.println("还书成功");
}
}
}
public class App1 {
public static void main(String[] args) {
CollectionBook book1=new CollectionBook("C语言", "xx出版社", "001", "计算机类", true);
CollectionBook book2=new CollectionBook("Java程序设计", "清华大学出版社", "002", "计算机类", true);
System.out.println("book1.equals(book2)是"+(book1.equals(book2)));
if (book1.name==book2.name && book1.publisher==book2.publisher) {
System.out.println("该书为同一本");
}
else {
System.out.println("该书不是同一本");
}
Scanner App1=new Scanner(System.in);
System.out.println("请输入0或1:");
int n=App1.nextInt();
if (n==0) {
book1.borrow();
}
if (n==1) {
book1.revert();
}
}
}
作者: zhanghaoyuan.66 时间: 2019-5-5 18:01
你没有重写Equals()方法啊
作者: 123zxc123 时间: 2019-7-29 08:13
这题值100黑币 笑哭
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |