import java.util.InputMismatchException;
import java.util.Scanner;
public class CIL{
private static Scanner input = new Scanner(System.in);
private static String readLine(String msg) {
System.out.print(msg);
return input.nextLine();
}
private static int readPosInt(String msg) {
while (true) {
System.out.print(msg);
try {
int num = input.nextInt();
input.nextLine(); // consume newline character
if (num < 0) {
System.out.println("Positive integers only!");
continue;
}
return num;
} catch (InputMismatchException e) {
System.out.println("You must type an integer!");
input.nextLine(); // consume wrong input
}
}
}
public static void main(String[] args) throws Exception {
Library library=new Library("UIC Library");
while(true){
int action=readPosInt(msg);
switch(action){//Show all the actions
case 1:
System.out.println("Total number of borrowed books: " + library.totalBorrowedBooks());
break;
case 2:
int qst1=0;
qst1=readPosInt("Type the user role (lender:1 borrower:2): ");
String name;
int num;
if(qst1==1) {
System.out.print("Enter the name of the user: ");
name=input.nextLine();
System.out.print("Enter the initial number of borrowed books: ");
num=input.nextInt();
Lender ler=new Lender(name, num);
l.addUser(ler);
System.out.println("Lender " + "\"" + name + "\"" + "lending " + num + "book(s) has been added.");
}else if(qst1==2){
System.out.print("Enter the name of the user: ");
name = input.nextLine();
System.out.print("Enter the initial number of borrowed books: ");
num = input.nextInt();
try {
Borrower ber=new Borrower(name, num);
l.addUser(ber);
} catch(NotALenderException e) {
System.out.println("BUG! This must never happen!");
System.exit(1);
}
System.out.println("Borrower \"" + name + "\" borrowing " + num + "book(s) has been added.");
} else {
System.out.println("Unknown user role!");
}
break;
//Show the borrowed books
case 3:
String name3;
System.out.print("Enter the name of the user: ");
name3 = input.nextLine();
int num3;
try {
num3 = l.getBook(name3);
System.out.println(name3 + " borrows " + num3 + " book(s).");
} catch (UnknownUserException e){
System.out.println("User " + name3 + " unknown.");
}
//Lend or borrow more books.
case 4:
String name4;
int num4 = 0;
System.out.print("Enter the name of the user: ");
name4=input.nextLine();
num4=readPosInt("Enter the number of books: ");
try{
l.moreBook(name4, num4);
int num4_1 = l.getBook(name4);
System.out.println(name4 + " borrows " + num4_1 + " book(s).");
}catch(NotALenderException e) {
System.out.println("BUG! This must never happen!");
System.exit(1);
}catch(UnknownUserException e){
System.out.println("User " + name4 + " unknown.");
}
break;
//Lend or borrow more books.
case 5:
String name5;
int num5=0;
System.out.print("Enter the name of the user: ");
name5=input.nextLine();
num5=readPosInt("Enter the number of books: ");
try {
l.moreBook(name5, -num5);
int num5_1=l.getBook(name5);
System.out.println(name5 + " borrows " + num5_1 + " book(s).");
}catch(NotALenderException e) {
System.out.println(e.getMessage());
}catch(UnknownUserException e){
System.out.println("User " + name5 + " unknown.");
}
break;
//Quiz the menu.
case 6:
System.out.println("Goodbye!");
System.exit(1);
default:
System.out.println("Unknown action!");
break;
}
}
}
}
2301_76762021
- 粉丝: 0
- 资源: 1
最新资源
- 驾驶风格,高斯聚类,特征提取,NGSIM 利用公开数据集#NGSIM(i-80,US101)中基于道工况的驾驶风格特征提取和高斯聚类,#driving styles Note: 该算法是本人pape
- PLC三菱PLC FX3U-48MRT 源码,原理图,PCBFX3U PLC控制器资料 尺寸: 主控芯片:STM32F103VET6 电源:DC24V 功能: 1、1路RS232、1路RS485
- STM32bms动力电池管理系统仿真 Battery Simulink电池平衡控制策略模型 动力电池管理系统仿真 BMS + Battery Simulink 控制策略模型, 动力电池物理模型,需求说
- C#读写台达PLC源代码,分别操控D、M、X、Y、T寄存器的读写,代码注释详细、分类说明,附带文档有台达PLC与上位机通讯协议(逐条解释详细)、PLC各种寄存器通讯地与16进制对照表 不需要再花时间
- VCU整车管理控制器?策略文档,量产车型使用 快速原型开发 整车管理系统策略开发,应用层软件,在车型最新版本软件 按照ASPIC 开发流程开发,基于AUTOSAR架构开发,满足功能安全ASIL
- 储能 智能楼宇 采用matlab编程,程序采用粒子群算法,将储能系统集成到楼宇微网优化调度模型中,通过在温度舒适度范围内对楼宇室温进行优化调节,有详细参考资料
- 双容水箱恒水位控制系统,约8k字 基于SIMULINK仿真环境,在假设双容水箱的数学建模后,采用PID控制算法,分别选用单回路控制系统和串级控制系统两种控制方案进行系统的分析设计 通过MATLAB
- MATLAB代码:电-气-热综合能源系统耦合优化调度 关键词:综合能源系统 优化调度 电气热耦合 参考文档:自编文档,非常细致详细,可联系我查阅 仿真平台:MATLAB YALMIP+cplex
- 光伏风电混合并网系统simulink仿真模型 系统有光伏发电系统、风力发电系统、负载、逆变器lcl大电网构成 光伏系统采用扰动观察法实现mppt控制,经过boost电路并入母线;
- Comsol merging BIC
- Wincc数据报表功能,历史数据查询,可按天查询本日数据,也可按月查询本月数据 或者自主查询,选择开始时间和结束时间 可导出Excel,同时支持直接打印功能 打开画面自动显示当天数据,并在最后几
- 龙贝格观测器Pll的C代码(iqmath数学运算加速 定点计算)已做好了接口 调用调试即可 对应开发板可出 演示是stm32f1平台
- 高压直流输电仿真(HVDC),AD-DC-AC双侧均采用调谐器 整流侧采用电压电流双闭环控制,逆变侧采用功率外环和电流内环双闭环,两侧均采用锁相环控制 双侧PI控制参数合理,响应速度和准确性较高
- 电子凸轮-区间运动Ver1.2.1(位置跟随,去程) 0.一个主轴伺服(定速)+一个从轴伺服 1.主轴伺服定速运动(主轴启动时带加速,可加减速到设定的速度),从轴伺服跟随 2.可在西门子200sma
- zhuomian duihua jiqiren.zip
- 风光储、风光储并网直流微电网simulink仿真模型 系统有光伏发电系统、风力发电系统、储能系统、负载、逆变器lcl大电网构成 附参考文献 同时可附逆变器控制参数,lcl参数计算m文件(另议)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈