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

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

我在程序中注釋掉一行代碼后,進入死循環,是Scanner的原因么?

package?homework;
import?java.util.*;
public?class?BookSearch?{
	Scanner?in?=?new?Scanner(System.in);	
	public?static?Book[]?books?=?{new?Book(1,"高數"),new?Book(2,"操作系統"),new?Book(3,"數據庫"),new?Book(4,"ssh"),new?Book(5,"HTML5")};?	
	public?static?void?main(String[]?args){
		BookSearch?a?=?new?BookSearch();
		a.choose();
	}
	public?void?choose(){
		?int?searchType?=?0;
		?while(true){
			?System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");
			?try?{
				searchType?=?in.nextInt();
			}?catch?(Exception?e)?{
				//?TODO:?handle?exception
				System.out.println("請輸入數字!");
			//	in?=?new?Scanner(System.in);?為什么注釋掉這一句之后,程序會無限循環
				continue;
			}finally{
				
			}
			?
			?if(searchType?==?1)
			?{
				?searchByName();
			?}else?if(searchType?==?2)
			?{
				?searchByID();
			?}else
			?{
				?System.out.println("輸入有誤請重新輸入");
			?}
		?}
	}
	public?void?searchByName(){
		String?bookName?;
		System.out.println("輸入圖書名稱:");
		bookName?=?in.next();
		for(int?i?=?0;i?<?books.length;?i++){
			if(bookName.equals(books[i].getName()))
			{
				System.out.println("book:"+books[i].getName());
				return;
			}	
		}System.out.println("圖書不存在");
		
	}
	public?void?searchByID(){
		int?id?;
		System.out.println("輸入圖書序號:");
		id?=?in.nextInt();
		for(int?i?=?0;i?<?books.length;?i++){
			if(id?==?books[i].getID())
			{
				System.out.println("book:"+books[i].getName());
				return;
			}	
		}System.out.println("圖書不存在");
	}
}


正在回答

1 回答

每次重新定義Scanner對象

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

攻城獅1994 提問者

非常感謝!
2015-08-12 回復 有任何疑惑可以回復我~
#2

詹士

那為什么要重新定義呢?
2015-09-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我在程序中注釋掉一行代碼后,進入死循環,是Scanner的原因么?

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

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

幫助反饋 APP下載

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

公眾號

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