Java图书查询系统实例(简化精炼版及部分更正)

1.创建书大类

public class Book {
private String name;
private int num;

public Book(String name,int num){
	this.name=name;
	this.num=num;

}
public String getName(){
	return name;
}
public void setName(String name){
	this.name=name;
}
public int getNum(){
	return num;

}
public void setNum(int num){
	this.num=num;
}
}

2.自定义异常

public  class NoExistException extends Exception{
	public NoExistException(String message){
		super(message);

	}
	public NoExistException(){

	}
}

3.主程序

import java.util.*;
public class Test2 {
	 private Scanner input = new Scanner(System.in);
	 Book[] book={
			 new Book("语文",1),
			 new Book("数学",2),
			 new Book("英语",3),
			 new Book("专业课",4)

	 };
//	 public List<Book> listbooks;
//	 public Test2() {
//         this.listbooks = new ArrayList<Book>();
//         }
//     public void listBooksAdd() {
//         listbooks.addAll(Arrays.asList(book));
//         }
	 public void printbook(){
		 System.out.println("====欢迎使用选书系统====");
		 System.out.println("=====书本信息如下:=====");
		 System.out.println("序号"+"\t"+"书名");
		 for(Book bk:book){
			 System.out.println(bk.getNum()+"\t"+bk.getName());
		 }
	 }

		public static void main(String[] args) {
			Test2 tc=new Test2();
//			tc.listBooksAdd();
			tc.printbook();

			while(true){
		    System.out.println("请选择查书方式1-通过序号2-通过书名:");
			switch(tc.back()){
			case 1:
				try{
				 System.out.println("您的书为:"+tc.fbid());
				 break;
				}catch(Exception e){
					System.out.println(e.getMessage());
					continue;
				}
			case 2:
				try{
					System.out.println("您的书为:"+tc.fbbn());
					break;
				}catch(Exception e){
					System.out.println(e.getMessage());
					continue;
				}
			default:
				System.out.println("输入错误!请重新输入!!!");
				continue;
			}break;
			}

}
public String fbid() throws NoExistException{
	System.out.println("请输入图书的序号:");
	int in=input.nextInt();
	for(Book bk:book){
		if(in==bk.getNum()){
			return book[in-1].getName();
		}
	}
	throw new NoExistException("序号越界请重新输入");
}
public String fbbn()throws NoExistException{
	System.out.println("请输入图书的书名:");
	String in=input.next();
	for(Book bk:book){
		if(in.equals(bk.getName())){
			return bk.getName();
		}
	}
	throw new NoExistException("此书不存在");

}
public int back(){
	int in=input.nextInt();
	return in;
}
}
时间: 2024-10-11 17:56:10

Java图书查询系统实例(简化精炼版及部分更正)的相关文章

基于java最短路径算法公交查询系统的设计与实现

基于J2EE的公交查询系统的设计与实现 1引言 1.1 选题背景 20多年来,我国经济得到了持续.快速.稳定.健康地发展.经济的快速增长,带动了汽车工业的蓬勃发展,并使交通状况显著改善.据统计,中国公路通车总里程已达130余万公里,其中高速公路约1.5万公里.居民收入普遍提高,到2000年年底,人均GDP已超过800美元,沿海地区已达2000-3000美元.按国际发展惯例,当人均GDP超出1000美元,汽车消费市场就将进入快速增长期.我国城市人口约有2亿,略低于美国人口.东部沿海地区大部分居民已

三国武将查询系统 //Java 访问 数据库

import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.ImageIcon; import javax.swing.JTextArea; import javax.swing.JLabel; import java.awt.Color; import java.sql.*; import

简易DVD查询系统(Java半学年成果)

值此2018年最后一天,决定上传一下我上个星期做好的DVD查询系统(java): 虽然自己觉得应该会有更简单的方法,但苦于知识的薄弱,暂时只能用这样较为繁琐复杂的方式来实现: 如果以后有新的方法,我会在此文下附上: 以下是我自己做好并在Eclipse上运行试验好的源代码,如有不足还望谅解. 这是DVD任务管理器的主界面: 1 package day20181224; 2 3 import java.text.ParseException; 4 import java.util.Scanner;

Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_汇总贴

51CTO学院 Java商城秒杀系统的设计与实战视频教程(SpringBoot版) H:\BaiDu\微服务0830\2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版) 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_1-1课程整体介绍 原文地址:https://www.cnblogs.com/wangjunwei/p/11524192.html

FineReport报表系统实例方案之医院院长查询分析系统

医院院长查询系统 目前,大中型医院的信息处理正从传统手工方式飞速向电脑信息化建设方案转变,一个大中型医院担负着繁重的医疗和科研任务,以及繁杂的事务性工作,院长必须时刻与各科室保持密切的连续,以便随时了解全院的情况,及时发现问题,方案并解决问题.院长是医院的首脑决策工作部分,其工作效率.工作质量关系到医院的社会效益和经济效益.在以往手工管理模式下,难免有因数据量大,医院情况反映不及时,或因为事物繁多,以至于出现不能全面及时理解全院情况,做好统计工作,发现问题,提出决策性意见,指导医院各部门协调工作

大数据流式计算:关键技术及系统实例

孙大为1, 张广艳1,2, 郑纬民1 摘要:大数据计算主要有批量计算和流式计算两种形态,目前,关于大数据批量计算系统的研究和讨论相对充分,而如何构建低延迟.高吞吐且持续可靠运行的大数据流式计算系统是当前亟待解决的问题且研究成果和实践经验相对较少.总结了典型应用领域中流式大数据所呈现出的实时性.易失性.突发性.无序性.无限性等特征,给出了理想的大数据流式计算系统在系统结构.数据传输.应用接口.高可用技术等方面应该具有的关键技术特征,论述并对比了已有的大数据流式计算系统的典型实例,最后阐述了大数据流

Spark编程实现SQL查询的实例

1.Oracle中的SQL select count(1) from a_V_PWYZL_CUSTACCT_PSMIS t where not exists (select 1 from tb_show_multi_question q WHERE q.dqmp_rule_code = '仅比对系统有' and q.dqmp_role_id = '105754659' and q.DQMP_target_id = t.dqmp_mrid) AND NOT EXISTS (select /*+ i

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表

基于HBase的冠字号查询系统2--实现部分

1. 软件版本和部署 maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,hibernate:4.3.6,spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014: Hadoop2.6.4,HBase1.1.2 源码下载:https://github.com/fansy1990/ssh_v3/releases 部署参考:http://blog.csdn.net/fansy1990/article/details/51356583 数