zl程序教程

您现在的位置是:首页 >  其他

当前栏目

BannerStudio---BannerStudio第二阶段考核

2023-03-14 22:40:49 时间

第一题

/**
 *有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
 */
  public class Test01 {
    public static void main(String[] args) {
        float a,b,c,sum;
        a=1;b=2;
        sum=b/a;
        for (int i = 0; i < 19; i++) {
            c=a+b;
            sum+=c/b;
            a=b;
            b=c;
        }
        System.out.println("结果为:"+sum);
    }
}

第二题

/**
 * 编写一个应用程序,接受用户输入的一行字符串,判断该字符串是否是回文数?
 */
  public class Test02 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        String a=scanner.next();
        char[] b=a.toCharArray();
        int n=0;
        for(int i=0;i<b.length/2;i++){
            if(b[i]!=b[b.length-1-i]){
                n++;
            }
        }
        if(n==0){
            System.out.println(a+"是回文数");
        }else{
            System.out.println(a+"不是回文数");
        }
    }
}

第三题

/**
  *要求:
(1)按照题目所给变量名称、类型和方法名称进行编程,禁止修改;
(2)编程环境可选,Eclipse或JDK均可
① 图书馆接口(Library)
     成员方法:
          borrow(),借阅图书
          revert(),归还图书
② 图书类(Book)
     成员变量:
         图书名称(name)String类型
         出版社(publisher)String类型
     构造方法:
         通过形参初始化图书名称(name)和出版社(publisher)
     普通方法:
(1)设置getter和setter方法用于获取和设置类中的name变量的值;
(2)重写Equals方法,当且仅当书名(name)和出版社(publisher)均相等时,即为同一本书。
(3)重写toString方法,返回书名(name)和出版社(publisher)的信息,样式如下:
“书名:Java程序设计,出版社:清华大学出版社”
③ 馆藏图书类(CollectionBook),继承自Book类,实现Library接口
成员变量:
    图书编号(bNo)String类型
    所在书库(stacks)String类型
   是否借阅(isBorrow)boolean类型 图书状态为已借阅时,值为true
构造方法:
调用父类构造方法初始化书名(name)和出版社(publisher)信息,然后初始化图书编号(bNo)和线路图书书库(stacks)
普通方法:
(1)实现接口中的borrow方法
         如果图书状态为已借阅,则输出“对不起,该图书已借阅”,否则,修改该图书状态为已借阅,输出“借阅成功”
(2)实现接口中的revert方法
         如果图书状态是可借阅状态,输出“该图书已归还”,否则,修改图书借阅状态为未借阅,并输出“还书成功”
④ 通过main函数测试
(1)创建两个CollectionBook对象book1和book2,分别输出book1和book2,并调用其equals方法判断两个对象是否相等
(2)通过键盘输入整数,输入0,则对book1进行借阅,输入1,则对book1进行归还操作
  */ 
//接口:
public interface Library {
    void borrow();
    void revert();
}
//父类:
import java.util.Objects;
public class Book {
    private String name;
    String publishe;
    public Book(String name, String publishe) {
        this.name = name;
        this.publishe = publishe;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    @Override
    public String toString() {
        return "书名:" + name +
                ", 出版社:'" + publishe ;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Book book = (Book) o;
        return Objects.equals(name, book.name) &&
                Objects.equals(publishe, book.publishe);
    }
}
//子类:
public class CollectionBook extends Book implements Library{
    String bNo;
    String stacks;
    boolean isBorrow=false;
    public CollectionBook(String name,
                          String publishe,
                          String bNo,
                          String stacks) {
        super(name, publishe);
        this.bNo=bNo;
        this.stacks=stacks;
    }
    @Override
    public void borrow() {
        if(isBorrow){
            System.out.println("对不起,该图书已借阅");
        }else{
            System.out.println("借阅成功");
            isBorrow=true;
        }
    }
    @Override
    public void revert() {
        if(isBorrow){
            isBorrow=false;
            System.out.println("还书成功");
        }else{
            System.out.println("该图书已归还");
        }
    }
}
//测试的主方法:
public class Main {
    public static void main(String[] args) {
        CollectionBook book1=new CollectionBook("Java程序设计",
                "清华大学出版社",
                "123456",
                "往左、往右、往前、往后");
        CollectionBook book2=new CollectionBook("C++程序设计",
                "北京大学出版社",
                "123457",
                "往左、往右、往前、往后");
        System.out.println(book1.toString());
        System.out.println(book2.toString());
        System.out.println(book1.equals(book2));
        Scanner scanner=new Scanner(System.in);
        for (int i = 0; i <10000 ; i++) {
            String  n = scanner.next();
            if ("0".equals(n)) {
                book1.borrow();
                continue;
            }else if ("1".equals(n)) {
                book1.revert();
                continue;
            }else if("exit".equals(n)){
                System.exit(0);
            } else {
                System.out.println("该序号不存在");
            }
        }
    }
}