图书管理系统是学生党练手的必备项目。
图书管理系统的功能模块有:查看借书排行榜,查看图书是否在馆,新增图书,删除图书,借出图书,归还图书等。
用到的主要知识点有:数组的综合使用,变量的使用,冒泡排序算法,多层for循环嵌套,switch语句的使用,多层if语句的灵活使用,while和do while循环的使用,日期类型的使用等等。
源代码如下,供学生党参(拷)考(贝):
package package0;
import java.text.SimpleDateFormat;
import java.util.Date;//引包
import java.util.Scanner;
public class BookManager {
public static void main(String[] args)throws Exception {//主方法
boolean go=true;//主菜单循环的判定条件
Book []book=new Book[10];
book[0]=new Book("三国演义",10);
book[1]=new Book("朝花夕拾",50);
book[2]=new Book("绿野仙踪",30);
// int i=3;//自定义书对象在数组中的实际起始索引
do {
showMenu();
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
switch (a) {//switch分支语句
case 0:{//借出排行榜
int[]times=new int[book.length];//定义存放次数的times数组
int num=0;//num代表times数组中元素的个数
for(int f=0;f<times.length;f++) {//用for循环把book数组里的元素的次数属性存到times数组内。
if (book[f]==null){num=f;break;}
else times[f]=book[f].ciShu;}//for结束
//对times数组内元素进行排序,大的数在前面
for(int k =0;k<num-1;k++) {
for(int j=0;j<num-1-k;j++) {//-1为了防止溢出
if(times[j]<times[j+1]) {//同时分别交换两个数组内的元素
int temp = times[j];Book b=book[j];
times[j]=times[j+1];book[j]=book[j+1];
times[j+1]=temp;book[j+1]=b;
}
}
}
//输出排行榜