package frist;
import java.util.Scanner;
public class Test {
static String[] book={"高数","数据结构","java","html","SQL","安卓"};//把图书信息放进数组
static boolean x=true;//定义一个布尔类型用来执行循环
Scanner input=new Scanner(System.in);
public static void main(String[] args) throws OneTow {//住方法
// TODO 自动生成的方法存根
Test test=new Test();//创建对象用来调用test1方法
while(x){ //循环体
try {
test.test1();
} catch (OneTow e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());//test1命令输入错误时抛出异常
}
}
}
//方法一
public void test1() throws OneTow
{
Test test1=new Test();//新建一个对象
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书。");
String c=input.nextLine(); //从键盘输入字符寸
if(c.equals("1")){ //如果相等,执行test2方法
try {
test1.test2();
} catch (CatchName e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());//test2方法输入命令错误,抛出异常
test1.test1(); //并返回执行test1方法
}
}
else if(c.equals("2")){ //如果相等,执行test3方法
try {
test1.test3();
} catch (CatchName e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());//test3方法输入命令错误,抛出异常
test1.test1(); //并返回执行test1方法
}
}else {
throw new OneTow("命令输入错误!请根据提示输入命令。");//test1命令错误抛出的异常信息
}
}
//方法二:判断输入图书名称
public void test2() throws CatchName
{
int a=0;//用来判断是否抛出异常信息
System.out.println("输入图书名称");
String name=input.nextLine(); //输入图书名称
for(int i=0;i<book.length;i++)//遍历图书下标
{
if(name.equals(book[i]))//判断是否相等
{
a=1;
name=book[i]; //把book[i]的值赋值给name
break; //跳出循环
}
}
if(a==1){ //判断如果a是1,输出图书名称,否则抛出异常信息
System.out.println("book:"+name);
x=false; //把false赋值给x,用以在while循环体中跳出循环
}
else
{
throw new CatchName("图书不存在");//抛出异常信息
}
}
//方法三
public void test3() throws CatchName
{
System.out.println("输入图书序号");
String no=input.nextLine();//输入图书序号
int b=0;//用来判断是否抛出异常信息
int d=0;//用来存储下标+1的信息
for(int j=1;j<=book.length;j++)//遍历图书下标
{
String s=String.valueOf(j);//把 int类型的j转换为String,并且赋值给s
if(no.equals(s))//判断字符串是否相等
{
b=1;
d=j; //把j的值赋值给d;
break; //跳出循环
}
}
if(b==1) //判断如果b是1,输出图书名称,否则抛出异常信息
{
System.out.println("book:"+book[d-1]);
x=false; //把false赋值给x,用以在while循环体中跳出循环
}
else {throw new CatchName("图书不存在!");} //抛出异常信息
}
}
fatewa
慕工程2701759
慕少3462033
ONE_WAY