第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

總感覺哪里不對,誰幫忙看看

?

package com.book.borrow;
import java.util.Scanner;
public class BookLend {

?public static void main(String[] args) {
??// TODO 自動生成的方法存根
??String book[] = {"物理","地理","化學(xué)","音樂","體育"};
??Scanner input = new Scanner(System.in);
??int in1;
??String bookName;
??int bookNum;
??System.out.println("**********歡迎來到圖書借閱系統(tǒng)**********");
??do{
???System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");
???in1 = input.nextInt();
???if(in1!=1&&in1!=2){
????System.out.println("命令輸入錯誤!請根據(jù)提示輸入數(shù)字命令!");
????continue;
???}
???
???if(in1==1){
????System.out.println("請輸入圖書名稱:");
????bookName = input.next();
????try{
?????for(String x:book) {
??????if(bookName.equals(x)){
???????System.out.println("book:"+bookName);
???????break;
??????}else{
???????throw new BookException(bookName);
???????
??????}
?????}
????}catch(BookException e){
?????System.out.println("您輸入的圖書不存在!");
?????in1=0;
?????continue;
????}
???}
???
???if(in1==2){
????System.out.println("請輸入圖書序號:");
????bookNum = input.nextInt();
????try{
?????if(bookNum>0&&bookNum<=book.length){
??????System.out.println("book:"+book[bookNum-1]);
??????break;
?????}else{
??????throw new BookException(bookNum);
?????}
????}catch(BookException e){
?????System.out.println("您輸入的圖書不存在!");
?????in1=0;
?????continue;
????}
???}
???
??}while(in1!=1&&in1!=2);
??
?}

}

正在回答

2 回答

代碼錯誤:

5441d0850001fd9f03310368.jpg

1.根據(jù)上圖原有代碼,假定我輸入圖書名稱bookName="音樂",

????代碼第一次循環(huán):x="物理",bookName.equals(x)返回false,執(zhí)行了else中throw語句,catch捕獲拋出的BookException異常,程序終止(錯誤)

下圖是就現(xiàn)有代碼修改(非最佳):

5441d70e0001254803680314.jpg

推薦:

5441d9cd000135c203700276.jpg

判斷語句if(in2==2){statement}也有相似的錯誤,在此不再贅述。

另外出于效率來講:

????main方法中do...while語句中判斷條件應(yīng)該直接是while(true)。因?yàn)榧俣ㄎ逸斎敕?或2的數(shù)字判斷語句if(in1!=1&&in1!=2){statement}中(in1!=1&&in1!=2)條件成立,statement執(zhí)行了,continue跳到while(in1!=1&&in1!=2)做多了一次(in1!=1&&in1!=2)判斷。

????個人推薦:

????????do{

????????????...

????????????if(in1==1){

????????????????statement;

????????????????break;

????????????}else if(in2==2){
????????????????statement;

????????????????break;

????????????}else{

????????????????statement;
????????????????continue;

????????????}

?????????}while(true);

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_安靜_93 提問者

多謝,受教了
2014-10-18 回復(fù) 有任何疑惑可以回復(fù)我~

package com.book.borrow;

public class BookException extends Exception{
?public BookException(){
??
?}
?public BookException(String name){
??super(name);
?}
?public BookException(int num){
??System.out.println("圖書不存在");
?}
?
}

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號