/*模拟完成一个图书借阅系统图书初始化在字符串数组中
用户进入系统后选择是按书名还是图书的序号来查找图书,exit退出系统。
完成该过程并处理该过程中可能发生的异常
没有该图书抛出“图书不存在”异常,提示重新输入
没有该序号抛出“图书不存在”异常,提示重新输入
操作选项出错抛出“指令错误”异常,并提示重新输入
*/
package computerday.javaday36;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.function.BooleanSupplier;
public class LibraryTest {
public static void main(String[] args) throws LibaryException {
String books[]= {"java","c语言程序设计","假如给我三天光明","莫斯定律"};
LibraryTest b1 = new LibraryTest();
b1.borrow(books);
}
public void borrow(String[] books) throws LibaryException{
for(String string:books) {
System.out.println(string);
}
Boolean flag=true;
while(flag) {
System.out.println("请输入你的操作1.按书名进行查找 2.按书号进行查找 3.结束查找");
Scanner scanner=new Scanner(System.in);
try {
int operate=scanner.nextInt();
if(operate==1) {
System.out.println("请输入书名");
String booksName=scanner.next(); //Arrays.toString()将数组转化为字符串
Boolean exit= Arrays.toString(books).contains(booksName);//判断输入的书名是否在books中,在会返回true
// System.out.println(Arrays.toString(books).contains(booksName));
if(exit) {
System.out.println("该书找到");
}else {
throw new LibaryException("图书不存在,请重新正确输入");
}
}
else if(operate==2) {
System.out.println("请输入书的序号");
int index=scanner.nextInt();
if(index>=0&& index<books.length) {
System.out.println("找到的书是:"+books[index]);
}else {
throw new LibaryException("图书不存在,请重新正确输入");
}
}
else if(operate==3){
System.out.println("程序执行结束,欢迎你的使用");
flag=false;
}
else {
throw new LibaryException("指令错误,请重新输入");
}
} catch (InputMismatchException e) {
// TODO: handle exception
e.printStackTrace();
}catch(LibaryException e) {
e.printStackTrace();
}finally{
System.out.println("————程序正常结束————");
}
}
}
}
总结:1.contains
public class Contains {
public static void main(String[] args) {
String str1 = "hello,world!", str2 = "what?";
CharSequence a = "hello";
boolean b = str1.contains(a);
System.out.println("第一条返回结果是 : " + b);
b= str2.contains("!");
System.out.println("第二条返回结果是: " + b);
}
}
//第一条返回结果是 : true
//第二条返回结果是: false
2.Arrays.toString()方法
将数组转换为字符串
String books[]= {"java","c语言程序设计","假如给我三天光明","莫斯定律"};
Boolean exit= Arrays.toString(books).contains(booksName)
System.out.println(Arrays.toString(books).contains(booksName));
//true