求大牛解答,哭哭哭哭,寫了一堆老是卡在
package?search.Sequence; public?class?BookIndex?{ private?String??BookName; private?int?BookNumber; ???? public?void?setBookName(String?BookName){ ???this.BookName?=?BookName; } public?void?setBookNumber(int?BookNumber){ this.BookNumber?=?BookNumber; } ????public?String?getBookName(String?testBookName){ ????testBookName?=?this.BookName; ????return?testBookName; ????} ????public?int?getBookNumber(){ ???? return?this.BookNumber; ????} ????public?BookIndex(String?newBookName,int?newBookNumber){ ???? this.setBookName(newBookName); ???? this.setBookNumber(newBookNumber); ????} }
package?search.Sequence; import?java.util.Scanner; public?class?Searching?{ public?static?void?main(String[]?args)?{ //?TODO?自動生成的方法存根 ????????BookIndex?[]?PutIndex={new?BookIndex("達芬奇密碼",1), ???????? ??????????????????new?BookIndex("計算",2), ???????? ??????????????????new?BookIndex("數(shù)據(jù)分析",3), ???????? ??????????????????new?BookIndex("唐家三少吃屎",4), ???????? ??????????????????new?BookIndex("天蠶土豆吃屎",5), ???????? ??????????????????new?BookIndex("衛(wèi)斯理",6), ???????? ??????????????????new?BookIndex("偵探伽利略",7), ???????? ??????????????????new?BookIndex("達文西打字法",8), ???????? ??????????????????new?BookIndex("東京食屎狗",9)}; ????????int?esp?; do{??esp?=?0; ?????System.out.println("輸入【1】按照編號查詢書籍,【2】按照書名查詢書籍:"); ?????Scanner?InPut_1?=?new?Scanner(System.in); ?????int?putnum?=?InPut_1.nextInt(); ?????if(putnum?==?1){ ???? System.out.println("輸入您想找的書籍編號:"); ????????????int?putBookNumber?=?InPut_1.nextInt(); ????????????for(int?i=0;i<i+1;i++){ ???????????? int?a=PutIndex[i].getBookNumber(); ???????????? if(a==putBookNumber){ ???????????? String?outName?=?null; ???????????? System.out.println("書籍是:"+PutIndex[i].getBookName(outName)); ???????????? break; ???????????? }else{continue;} ???????????????????????????????????} ??????????????????????} ?????else?if(putnum?==?2){ ???? ?System.out.println("輸入您想找的書籍名字:"); ????????????String?putBookName?=?InPut_1.nextLine(); ????????????for(int?i=0;i<i+1;i++){ ???????????? String?testBookName?=?null; ???????????? PutIndex[i].getBookName(testBookName);/*這里老是出問題,之前是無參的不能賦值給別的變量,想不到我現(xiàn)在有參了還是這樣子,出錯*/ ???????????? if(putBookName==testBookName){ ???????????? System.out.println("書籍是:"+PutIndex[i].getBookName(testBookName)); ???????????? break; ???????????? }else{continue;} ???????????????????????????????????} ?? ??????????????????????????????????? ??????????????????????????????????? ?????????????????????} ?????else{esp=1; ?????????System.out.println("輸入有誤請重新輸入"); ??????????} ????? ????? ????? ?????}while(esp?==?1); ????? ???????????????????????????????????????????????} }
求大牛解答我的問題,我先不考慮寫try……catch的類,我要先解決圖書的問題,想了我一整天了
2015-01-06
BookIndex類的getBookName()函數(shù)改為:
出錯的地方改為:
2014-12-18
在else if中再定義一個Scanner類用于接收輸入的字符串,然后在判斷字符串的時候不要用==,要用equals就應(yīng)該沒有問題了,另外這么寫可能出現(xiàn)數(shù)組下標越界的異常,在i循環(huán)的時候,循環(huán)條件可以寫i<PutIndex.length