import java.util.InputMismatchException;
import java.util.Scanner;
public class BBS {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] books={"高数","数据结构"};
for(int i=1;;i++){
try{
System.out.println("输入命令:1-按图书名称查找图书;2-按序号查找图书:");
Scanner input=new Scanner(System.in);
int i1=input.nextInt();
if(i1==1){
System.out.println("输入图书名称:");
String i2=input.next();
if(!i2.equals(books[0])&&!i2.equals(books[1])){
System.out.println("图书不存在!");
continue;}
for(int j=0;j<books.length;j++){
if(i2.equals(books[j]))System.out.println("book:"+books[j]);
}
}
if(i1==2){
System.out.println("输入图书序号:");
int i3=input.nextInt();
if(i3!=0&&i3!=1){
System.out.println("图书不存在!");
continue;}
System.out.println("book:"+books[i3]);
}
break;
}catch(InputMismatchException e){
System.out.println("命令输入错误!请根据提示输入数字命令!");
}
}
}
}
测试结果如下:
修改后
import java.util.InputMismatchException;
import java.util.Scanner;
public class BBS {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] books={"高数","数据结构"};
while(true){
try{
System.out.println("输入命令:1-按图书名称查找图书;2-按序号查找图书:");
Scanner input=new Scanner(System.in);
int i1=input.nextInt();
if(i1==1){
System.out.println("输入图书名称:");
String i2=input.next();
if(!i2.equals(books[0])&&!i2.equals(books[1])){
System.out.println("图书不存在!");
continue;
}
for(int j=0;j<books.length;j++){
if(i2.equals(books[j])){
System.out.println("book:"+books[j]);
}
}
break;
}
if(i1==2){
int i3;
while(true){
Scanner input1=new Scanner(System.in);
try{
System.out.println("输入图书序号:");
i3=input1.nextInt();
if(i3!=0&&i3!=1){
System.out.println("图书不存在!");
}break;
}catch(InputMismatchException e){
System.out.println("命令输入错误!请根据提示输入数字命令!");
}
}
if(i3==0||i3==1){
System.out.println("book:"+books[i3]);
break;}
}
}catch(InputMismatchException e){
System.out.println("命令输入错误!请根据提示输入数字命令!");
}
}
}
}
运行结果:
热门评论
class Check extends Exception{
void check(int i)throws Check{
if(i!=1&&i!=2){
throw new Check();
}
}
}
public class Demo02 {
public static void main(String[] args){
String[] books={"高数","数据结构"};
Check comcheck=new Check();
while(true){
try{
System.out.println("输入命令:1-按图书名称查找图书;2-按序号查找图书:");
Scanner input=new Scanner(System.in);
int i1=input.nextInt();
comcheck.check(i1);
if(i1==1){ System.out.println("输入图书名称:");
String i2=input.next();
if(!i2.equals(books[0])&&!i2.equals(books[1])){
System.out.println("图书不存在!");continue;
}
这时之间的差别
!!!!
你好,楼主,我觉得你做的和慕课上不完全一样,,在2-按照序号查找图书,输入a后提示的是:命令输入错误!请根据提示输入数字命令!输入图书序号:,而你写的程序里,输入a后提示的是:命令输入错误!请根据提示输入数字命令!输入命令:1-按图书名称查找图书;2-按序号查找图书:,是不是哪里应该改一下