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

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

課后習題已編 求大神指出不足之處 不會的朋友也可以參考一下

package?library;
import?java.util.Scanner;//掃描
public?class?Library?{
?public?void?library(){
	System.out.println("輸入命令:1。按照名稱查找圖書;2.按照序號查找圖書");//打印輸出
	try{//try{}catch(){}語句塊的應用
		Scanner?input=new?Scanner(System.in);
	int?a=input.nextInt();
	?if(a==1){
		library1();//輸入1,調用library1方法
	?}else?if(a==2){
		?library2();//輸入2調用library2方法
	?}else?{
		?System.out.println("命令輸入錯誤,請根據提示輸入數字命令!(1或2)");
			library();//輸入其它整數則提示重新輸入
	?}
	}catch(Exception?e){//異常捕獲
		System.out.println("命令輸入錯誤,請根據提示輸入數字命令!");
		library();//異常處理,回滾重新輸入
	}
	}
?public?void?library1(){
	?System.out.println("輸入圖書名稱:");
	?try{
		?Scanner?input=new?Scanner(System.in);
	?String?b=input.next();//掃描?輸入字符串(輸入圖書名稱)
	?for(int?i=0;;i++){//用for循環遍歷?搜索系統中是否有要借的圖書
		?if((Books.books[i].name).equals(b)){
			?System.out.println("book:"+b);
			?break;//有則結束循環,沒有則拋出一個異常
		?}
		
	?}
		?
	?}catch(Exception?e){
		?System.out.println("圖書不存在!");//異常處理方式?重新輸入圖書
			library1();
	?}
	?
?}
?public?void?library2(){//參照library1
	?System.out.println("輸入圖書序號:");
	?try{
		?Scanner?input=new?Scanner(System.in);
	?int?b=input.nextInt();
	?for(int?i=0;;i++){
		?if(Books.books[i].num==b){
			?System.out.println("book:"+Books.books[i].name);
			?break;
		?}
		
	?}
		?
	?}catch(Exception?e){
		?System.out.println("圖書不存在!");
			library2();
	?}
?}
}
package?library;

public?class?Books?{//數據模型
	int?num;
	String?name;
	public?Books(int?num,String?name){//構造函數??存儲書本序號,及名字
		this.num=num;
		this.name=name;
	}
public?static?Books[]books={new?Books(1,"數據結構"),new?Books(2,"高數"),new?Books(3,"線性代數")
		
};//數組信息

}
package?library;//測試類

public?class?Initail?{

	/**
	?*?@param?args?
	?*/
	public?static?void?main(String[]?args){
		//?TODO?Auto-generated?method?stub
		System.out.println("歡迎登錄借書系統");
		Library?input=new?Library();//建立對象
		input.library();
	}

}


正在回答

13 回答

?int?num;

????String?name;

這個地方最好用private進行封裝調用時是用get的方法;其他我覺得挺好的

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

富真好 提問者

非常感謝!
2016-01-27 回復 有任何疑惑可以回復我~
#2

qq_倔強人生_0 回復 富真好 提問者

不客氣,我也是剛開始。大家可以一起學習。也可以加個好友哈
2016-01-28 回復 有任何疑惑可以回復我~
#3

Myles小帥哥

類與類之間本來就是有作用域的吧,可以加private嗎?private是Procedure之間,不是Class之間吧
2016-02-22 回復 有任何疑惑可以回復我~
#4

富真好 提問者 回復 Myles小帥哥

可以回過頭去看一看封裝的內容
2016-02-24 回復 有任何疑惑可以回復我~
查看2條回復

int num;

String name;

這個地方最好用private進行封裝,對于這樣,private只是限于在本類中使用,那Library類中豈不是不能 用他的

信息?

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

我剛才運行了一下代碼,發現沒有必要回滾啊

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

你好,參考打印出了,查找原因,目前是同時定義了 兩個類型的變量b ,分別是String ,int ,嘗試將變量變換兩者不能相同吧,問題解決。小白請教。

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

我運行了代碼 之后,發現,沒有運行catch()塊中的代碼

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

富真好 提問者

沒有打印輸出catch()塊的內容 但當程序運行異常時能捕獲到異常 并輸出圖書不存在的提示
2016-03-02 回復 有任何疑惑可以回復我~

對于Scanner input.樓主要記得調用input.close()關閉會比較好

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

問下 輸入的書名不匹配 為什么會拋出一個異常?

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

富真好 提問者

我用的是一個數組來存儲數據 數組里面沒有搜索到這個書名會拋出數組下標越界異常
2016-02-24 回復 有任何疑惑可以回復我~

想問問能寫出這樣的代碼,需要怎么學習,自己也看了問題但是仍然沒有思路和想法,只是知道最基本的一些簡單知識,求指教。

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

富真好 提問者

自己多去敲代碼練習啊 完了之后自己再敲 沒思路了參考別人的 多敲多問多練 沒有技巧
2016-02-24 回復 有任何疑惑可以回復我~

問題:在Books類里定義的靜態數組books,在類Library類里不能直接調用吧,我嘗試了下,不對啊,應該在Liberay里調用一下Books的構造函數吧!

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

富真好 提問者

可以的
2016-02-24 回復 有任何疑惑可以回復我~
#2

慕先生2246827

你好請問具體的代碼應該怎樣寫?
2016-03-02 回復 有任何疑惑可以回復我~

根據書名找不到書不會提示錯誤。

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

富真好 提問者

不是有提示么 會輸出圖書不存在啊
2016-02-14 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消

課后習題已編 求大神指出不足之處 不會的朋友也可以參考一下

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

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

幫助反饋 APP下載

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

公眾號

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