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

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

小白小白小白小白JAVA問題請教

package?com.imooc.proj_1;

?

import?java.util.Scanner;

?

public?class?BookManagerEasy?{

????private?static?Scanner?console?=?new?Scanner(System.in);

?

????public?static?void?main(String[]?args)?{

????????//定義”圖書“數組

????????String[]?books?=?{?"C語言",?"數據結構",?"匯編語言",?"高數",?"大學語文",?"毛概"?};

????????while?(true)?{

????????????System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");

????????????String?book;

????????????try?{

????????????????//取得整型命令

????????????????int?command?=?inputCommand();

????????????????//根據不同命令值,進行不同操作

????????????????switch?(command)?{

????????????????case?1://按照圖書名稱選擇圖書

????????????????????book?=?getBookByName(books);

????????????????????System.out.println("book:"?+?book);

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

????????????????case?2://按照圖書序號(數組下標)選擇圖書

????????????????????book?=?getBookByNumber(books);

????????????????????System.out.println("book:"?+?book);

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

????????????????case?-1://返回值為-1,說明輸入有誤

????????????????????System.out.println("命令輸入錯誤!請根據提示輸入數字命令!");

????????????????????continue;

????????????????default://其他值的命令均認為是錯誤命令

????????????????????System.out.println("命令輸入錯誤!");

????????????????????continue;

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

????????????????break;//退出程序

????????????}?catch?(Exception?bne)?{

????????????????//捕獲”圖書不存在異?!皶r,要求重新輸入命令

????????????????System.out.println(bne.getMessage());

????????????????continue;

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

????????}

????}

?

????//按照圖書名稱查詢圖書

????private?static?String?getBookByName(String[]?books)

????????????throws?Exception?{

????????System.out.println("輸入圖書名稱:");

????????//獲取輸入的圖書名稱

????????String?name?=?console.next();

????????for?(int?i?=?0;?i?<?books.length;?i++)?{

????????????if?(name.equals(books[i]))

????????????????//輸入的名稱與某一圖書名稱匹配,返回該圖書

????????????????return?books[i];

????????}

????????//若無匹配,拋出”圖書不存在異?!?/p>

????????throw?new?Exception("圖書不存在!");

????}

?

????//根據圖書序號(數組下標)查詢圖書

????private?static?String?getBookByNumber(String[]?books)

????????????throws?Exception?{

????????while?(true)?{

????????????System.out.println("輸入圖書序號:");

????????????try?{

????????????????//獲取輸入的圖書序號(數組下標)

????????????????int?index?=?inputCommand();

????????????????//若返回值為-1

????????????????if(index?==?-1){

????????????????????System.out.println("命令輸入錯誤!請根據提示輸入數字命令!");

????????????????????continue;

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

????????????????//若不出現”數組下標越界異?!?,則返回相應位置的圖書

????????????????String?book?=?books[index];

????????????????return?book;

????????????}?catch?(ArrayIndexOutOfBoundsException?e)?{

????????????????//輸入的序號不存在(引發”數組下標越界異常“),則拋出”圖書不存在異?!?/p>

????????????????Exception?bookNotExists?=?new?Exception("圖書不存在!");

????????????????bookNotExists.initCause(e);

????????????????throw?bookNotExists;

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

????????}

????}

?

????//從控制臺輸入命令,用于輸入命令和輸入圖書序號

????private?static?int?inputCommand(){

????????int?command;

????????try?{

????????????command?=?console.nextInt();

????????????return?command;

????????}?catch?(Exception?e)?{

????????????//若輸入字符型或者字符串,則拋出異常,捕獲該異常,拋出”錯誤命令異?!?/p>

????????????console?=?new?Scanner(System.in);

????????????//返回-1

????????????return?-1;

????????}

????}

}

倒數第六行有下劃線的代碼有什么用,console究竟是什么

正在回答

1 回答

console就是控制臺,這行代碼意思就是在出現異常的時候重新創建控制臺對象

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

慕粉1473725030 提問者

非常感謝!
2016-10-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409767    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

小白小白小白小白JAVA問題請教

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

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

幫助反饋 APP下載

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

公眾號

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