Banner——第二阶段考核

  1. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
public class Test1 {
    public static void main(String[] args) {
        double n1=1;
        double n2=1;
        double fraction= n1/n2;
        double sum=0;
        for (int i = 0; i < 20 ; i++) {
            double t1 = n1;
            double t2 = n2;
            n1 = t1+t2;
            n2 = t1;
            fraction = n1/n2;
            sum += fraction;
        }
        System.out.println(sum);
    }
}

  1. 编写一个应用程序,接受用户输入的一行字符串,判断该字符串是否是回文数?
public class Test2 {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        System.out.print("请输入一串字符串:");
        String a = reader.nextLine();
       /* char[] arr1= new char[a.length()];
        for (int i = 0; i < a.length(); i++) {
            arr1[i]=a.charAt(i);
        }*/

        int n=0;
        /** toCharArray() 方法将字符串转换为字符数组。*/
        char []arr1 =a.toCharArray();
        for (int i = 0; i < a.length()/2; i++) {
            if(arr1[i] !=arr1[a.length()-1-i])
            {
                n++;
            }
        }

        if(n==0){
            System.out.println("是回文!");
        }
        else {
            System.out.println("不是回文!");
        }
    }
}
  1. 要求:
    (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 class Main {
    public static void main(String[] args) {
        CollectionBook book1=new CollectionBook("混元功法","马家出版社","666","书库");
        CollectionBook book2=new CollectionBook("混元功法","马家出版社","777","书库");
        System.out.println(book1.toString());
        System.out.println(book2.toString());
        System.out.println(book1.equals(book2));
        /** (2)通过键盘输入整数,输入0,则对book1进行借阅,
         * 输入1,则对book1进行归还操作*/
        Scanner reader=new Scanner(System.in);
        int a=reader.nextInt();
        if(a==0)
        {
            book1.borrow();
        }
        if(a==1)
        {
            book1.revert();
        }
    }
}

interface Library {
    void  borrow();
    void  revert();
}
class Book {
    protected String name;
    protected String publisher;
    
    public Book(String name, String publisher) {
        this.name = name;
        this.publisher = publisher;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @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(publisher, book.publisher);
    }

    @Override
    public String toString() {
        return "Book{" +
                "书名:" + name + '\'' +
                ", 出版社:" + publisher + '\'' +
                '}';
    }
}

class CollectionBook extends Book implements Library {
    String bNo;
    String stacks;
    boolean isBorrow;

    public CollectionBook(String name, String publisher, String bNo, String stacks) {
        super(name, publisher);
        this.bNo = bNo;
        this.stacks = stacks;
    }

    @Override
    public void borrow() {
        if (isBorrow){
            System.out.println("对不起,该图书已借阅");
        }else {
            isBorrow=true;
            System.out.println("借阅成功");
        }
    }

    @Override
    public void revert() {
        if(!isBorrow){
            System.out.println("该图书已归还");
        }else {
            isBorrow=false;
            System.out.println("还书成功");
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值