关于控制台中输入字符,会把程序输出的字符覆盖!!怎么办?看代码
public static void main(String[] args) {
String[] a = { "论语","三字经"};
System.out.println("欢迎使用啪啪啪借阅系统:");
int n =0;
while(n==0){
try{
System.out.println("1.按书名借阅书籍 2.按序号借阅书籍");
//在控制台输入数字命令 ,这里可能出现异常
Scanner input = new Scanner(System.in);
int number = input.nextInt();
//如果控制台输入数字1
if(number==1){
//遍历数组,输出a[i]中的元素:各个书籍
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
System.out.println("请输入您要借阅书籍的名称:");
//在控制台输入字符串
Scanner input2 =new Scanner(System.in);
String name = input2.nextLine();
//对控制台输入的字符串进行 判断
if(name.equals(a[0])){
System.out.println("您要借阅的书籍为:"+a[0]);
}else if(name.equals(a[1])){
System.out.println("您要借阅的书籍为:"+a[1]);
}else{
System.out.println("您输入的书籍不存在");
}
}
//当控制台输入2 (用序号选择书籍时)
else{
//为了方便就没有遍历了
System.out.println("1.论语 2.三字经 "+"请输入序号:");
Scanner input3 = new Scanner(System.in);
int number2 = input3.nextInt();
//对控制台输入的序号进行判断,这里可能出现异常
if(number2==1){
System.out.println("您要借阅的书籍为:"+a[0]);
}else if(number2==2){
System.out.println("您要借阅的书籍为:"+a[1]);
}else{
System.out.println("请输入已提示的数字序号");
}
}
n = 1;
//开始捕获可能出现的异常
}catch(InputMismatchException e){
System.out.println("命令输入错误,请根据提示输入数字命令");
n=0;
}catch(Exception e){
System.out.println("Exception系统未知故障");
n=0;
}finally{
System.out.println("啪啪啪");
n=0;
}
} }