写点什么

【Java 基础语法】纯 Java,springmvc 面试题常问 2022

  • 2022 年 4 月 13 日
  • 本文字数:2942 字

    阅读完需:约 10 分钟

前言

今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令。


如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!笔芯!



正式开始 Linux 之前,简单花一点点篇幅科普一下操作系统相关的内容。


", type='" + type + ''' +


(isLent?" 未借出":" 已借出") +


'}';


}


public Book(String name, String author, int price, String type) {


this.name = name;


this.author = author;


this.price = price;


this.type = type;


}


}


由于我定义的几个成员变量都是私有的,所以下面创建了一些成员的 getter 和 setter 方法(有些没用到的 getter 和 setter 方法我个人删除了,因为本次没有用到)


并且重写了 toString 方法,因为我们在显示书籍信息的时候会更舒服


最后再写了个构造方法,因为新增书籍时肯定要将书的各种信息都存入

[](()2.2.2 书架(BookList)

书架我个人就设计成了顺序表,那么我们要用到哪些成员和方法呢?


  • 已存入书的数量


  • 书的数组:用来存放书


  • 一些方法


先看我的代码吧


public class BookList {


private int usedSize=3;


private Book[] books =new Book[10];


public BookList(){


this.books[0]=new Book("Java 核心技术卷 I","Cay S.Horstmann",119,"很贵很贵的书");


this.books[1]=new Book("鸟哥的 Linux 私房菜","鸟哥",118,"很贵很贵的书");


this.books[2]=new Book("剑指 Offer","何海涛",65,"很贵的书");


}


public int getSize(){


return usedSize;


}


public void setSize(int size){


this.usedSize=size;


}


public void setBooks(int pos, Book book){


books[pos]=book;


}


public Book getBook(int pos){


return books[pos];


}


}


上述代码中,个人就先存放了三本书,故 usedSize 为 3,而整体设计最多可以放 10 本书,这其实可以根据不同的情况进行修改


后面便是一些方法,包含


  • 得到存入书的数量:寻找某本书时遍历要用到


  • 修改存入书的数量:增加和删除书籍时要用到


  • 得到某本书:取书时要用到


  • 修改某本书:新增书籍时要将新的书的信息录入


[](()2.2 对于书架的操作(operation 包)




该包类即我们用户进行的操作,我个人设计了下面几个操作


新增、删除、查找、借阅、归还、显示所有书籍、退出系统


由于对于书架的操作我们其实就可以抽象的看成下面这样的函数


public void work(BookList bookList);


所以我们先看下接口的代码

[](()2.2.1 操作接口

public interface IOperation {


public void work(BookList bookList);


}


这里其实就用到了接口和抽象类


接着我们再通过各种操作去继承接口,并完善各自的内容

[](()2.2.2 新增书籍

public class AddOperation implements IOperation{


@Override


public void work(BookList bookList) {


if(bookList.getSize()==10){


System.out.println("书库已满,无法增加书籍");


return;


}


Scanner reader = new Scanner(System.in);


String name;


String author;


int price;


String type;


System.out.print("请输入你要新增的书名:");


name=reader.nextLine();


System.out.print("请输入该书的作者:");


author=reader.nextLine();


System.out.print("请输入该书的价格:");


price=reader.nextInt();


reader.nextLine();


System.out.print("请输入该书的类型:");


type=reader.nextLine();


int pos=bookList.getSize();


Book book = new Book(name, author, price, type);


bookList.setBooks(pos, book);


bookList.setSize(bookList.getSize()+1);


}


}

[](()2.2.3 删除书籍

public class DelOperation implements IOperation{


@Override


public void work(BookList bookList) {


if(bookList.getSize()==0){


System.out.println("书库无书,无法进行删除操作");


return;


}


Scanner reader = new Scanner(System.in);


String name;


System.out.print("请输入你要删除的书名:");


name=reader.nextLine();


for(int i=0;i<bookList.getSize();i++){


if(name.equals(bookList.getBook(i).getName())){


while(bookList.getSize()-i-1!=0){


bookList.setBooks(i,bookList.getBook(i+1));


i++;


}


bookList.setSize(bookList.getSize()-1);


return;


}


}


System.out.println("书库无该图书,无法进行删除操作");


}


}

[](()2.2.4 查找书籍

public class FindOperation implements IOperation{


@Override


public void work(BookList bookList) {


if(bookList.getSize()==0){


System.out.println("书库无书");


return;


}


Scanner reader = new Scanner(System.in);


String name;


System.out.print("请输入你要查找的书名:");


name=reader.nextLine();


for(int i=0;i<bookList.getSize();i++){


if(name.equals(bookList.getBook(i).getName())){


System.out.println("已查询找到该书,信息如下:");


System.out.println(bookList.getBook(i));


return;


}


}


System.out.println("未查询到该书");


}


}

[](()2.2.5 借阅书籍

public class LendOperation implements IOperation{


@Override


public void work(BookList bookList) {


if(bookList.getSize()==0){


System.out.println("书库无书,无法进行借阅");


return;


}


Scanner reader = new Scanner(System.in);


String name;


System.out.print("请输入你要借阅的书名:");


name=reader.nextLine();


for(int i=0;i<bookList.getSize();i++){


if(name.equals(bookList.getBook(i).getName())){


if(bookList.getBook(i).isLent()==false) {


bookList.getBook(i).setLent(true);


System.out.println("借阅成功");


}else{


System.out.println("该书已被他人借阅,借阅失败");


}


return;


}


}


System.out.println("未查询到该书,借阅失败");


}


}

[](()2.2.6 归还书籍

public class ReturnOperation implements IOperation{


@Override


public void work(BookList bookList) {


Scanner reader = new Scanner(System.in);


String name;


System.out.print("请输入你要归还的书名:");


name=reader.nextLine();


for (int i =0;i<bookList.getSize();i++){


if(name.equals(bookList.getBook(i).getName())){


if(bookList.getBook(i).isLent()==true){


bookList.getBook(i).setLent(false);


System.out.println("该书归还成功");


return;


}else{


System.out.println("该书未被借阅,操作错误");


return;


}


}


}


System.out.println("未查询到你要归还的书籍,操作错误");


}


}

[](()2.2.7 显示所有书籍信息

public class DisplayOperation implements IOperation{


@Override


public void work(BookList bookList) {


if(bookList.getSize()==0){


System.out.println("书库无书");


}


for(int i=0;i<bookList.getSize();i++){


System.out.println(bookList.getBook(i));


}


}


}

[](()2.2.8 退出系统

public class ExitOperation implements IOperation{


《一线大厂 Java 面试真题解析+Java 核心总结学习笔记+最新全套讲解视频+实战项目源码》开源


Java 优秀开源项目:

  • ali1024.coding.net/public/P7/Java/git

总结

总体来说,如果你想转行从事程序员的工作,Java 开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。


如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java 编程思想》、《Java 核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
【Java 基础语法】纯 Java,springmvc面试题常问2022_Java_爱好编程进阶_InfoQ写作平台