亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神幫忙看下,為啥這段代碼,選擇查找方式的時候輸入錯誤會一直死循環下去。

package?com.lendbook.demo;

import?java.util.*;
public?class?Lend?{
	private?static?LendBook[]?lb={new?LendBook("西游記",1),new?LendBook("紅樓夢",2),
		new?LendBook("水滸傳",3),new?LendBook("三國演義",4)};//輸入圖書數據
	public?static?void?main(String[]?args)?{
		Scanner?s=new?Scanner(System.in);//定義輸入命令
		while(true){
			try{
				System.out.println("輸入命令選擇:1,按照書名查找圖書;2,按照序號查找圖書");
				int?a=s.nextInt();
				if(a==1){
					try{
						searchName();
					}catch(InputMismatchException?e){
						System.out.println("命令輸入錯誤,請根據提示重新輸入命令!");
						continue;
					}catch(Exception?e){
						System.out.println(e.getMessage());
						continue;
					}
				}
				else?if(a==2){
					try{
						searchId();
					}catch(InputMismatchException?e){
						System.out.println("命令輸入錯誤,請根據提示重新輸入命令!");
						continue;
					}catch(Exception?e){
						System.out.println(e.getMessage());
						continue;
					}
				}
			
				break;
			}catch(InputMismatchException?e){
				System.out.println("命令輸入錯誤,請根據提示重新輸入命令!");
				continue;
			}
		}
	}

	public?static?void?searchName()?throws?Exception{//定義按照書名查找書的方法,并設置拋出書不存在異常
		Scanner?s2=new?Scanner(System.in);//定義輸入數據
		System.out.println("輸入圖書名稱:");
		String?b=s2.nextLine();
		for(int?i=0;i<lb.length;i++){
			if(lb[i].getBookname().equals(b)){
				System.out.println("book:"+lb[i].getBookname()+"\tid:"+lb[i].getBookid());
				System.exit(0);
			}
		}
			throw?new?Exception("書不存在");
		}

	public?static?void?searchId()?throws?Exception{//定義按照書序號查找書的方法,并設置拋出書不存在異常
		Scanner?s3=new?Scanner(System.in);//定義輸入數據
		System.out.println("輸入圖書序號:");
		int?c=s3.nextInt();
		for(int?j=0;j<lb.length;j++){
			if(lb[j].getBookid()==c){
				System.out.println("book:"+lb[j].getBookname()+"\tid:"+lb[j].getBookid());
				System.exit(0);
			}
		}
			throw?new?Exception("書不存在");
		}

}


正在回答

3 回答

好吧,我自己找到問題了,第8行的scanner應該放到11行循環里面,不然執行一次以后不再進入輸入選擇,一直重復輸出

0 回復 有任何疑惑可以回復我~

uuu

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求大神幫忙看下,為啥這段代碼,選擇查找方式的時候輸入錯誤會一直死循環下去。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號