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

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

困擾了一晚上的Scanner,還是不知道在哪里close?

package com.imooc;

import java.util.Scanner;


public class LibraryTest {

private static String[] books = new String[] {"語文", "數學", "英文", "政治", "歷史", "物理", "化學"};


public static void main(String[] args) {

LibraryTest lt = new LibraryTest();

while(lt.searchBook() != 0)? // 進入查找圖書系統

System.out.println("圖書不存在!");

}

public int searchBook() {

int ret = -1;

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

try {

Scanner input = new Scanner(System.in);

int cmd = input.nextInt();

switch (cmd) {

case 1:

ret = searchBookByName();

break;

case 2:

ret = searchBookByIndex();

break;

default:

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

break;

}

} catch(Exception e) {

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

}


return ret;

}

private int searchBookByName() {

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


Scanner input = new Scanner(System.in);

String name = input.nextLine();

for (String book : books) {

if (book.equals(name)) {

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

return 0;

}

}

return -1;

}

private int searchBookByIndex() {

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


Scanner input = new Scanner(System.in);

int index = input.nextInt();

if (index >= 0 && index < books.length) {

System.out.println("book: " + books[index]);

return 0;

}


return -1;

}

}



正在回答

2 回答

你每次成功執行返回的是0,然后你循環的條件是!=0,所以會退出。

樓上整理i了

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

我看著頭大 幫忙整理一下 希望能夠幫助解答者

package?com.imooc;??
import?java.util.Scanner;??
??
public?class?LibraryTest?{??
??
????private?static?String[]?books?=?new?String[]?{?"語文",?"數學",?"英文",?"政治",??
????????????"歷史",?"物理",?"化學"?};??
??
????public?static?void?main(String[]?args)?{??
????????????LibraryTest?lt?=?new?LibraryTest();??
????????????while?(lt.searchBook()?!=?0)??
????????????//?進入查找圖書系統??
????????????System.out.println("圖書不存在!");??
????}??
??
????public?int?searchBook()?{??
????????int?ret?=?-1;??
????????System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");??
????????try?{??
????????????Scanner?input?=?new?Scanner(System.in);??
????????????int?cmd?=?input.nextInt();??
????????????switch?(cmd)?{??
????????????case?1:??
????????????????ret?=?searchBookByName();??
????????????????break;??
????????????case?2:??
????????????????ret?=?searchBookByIndex();??
????????????????break;??
????????????default:??
????????????????System.out.println("命令輸入錯誤!請根據提示輸入數據命令");??
????????????????break;??
????????????}??
????????}?catch?(Exception?e)?{??
????????????System.out.println("命令輸入錯誤!請根據提示輸入數據命令");??
????????}??
????????return?ret;??
????}??
??????
????private?int?searchBookByName()?{??
????????System.out.println("輸入圖書名稱:");??
????????Scanner?input?=?new?Scanner(System.in);??
????????String?name?=?input.nextLine();??
????????for?(String?book?:?books)?{??
????????????if?(book.equals(name))?{??
????????????????System.out.println("book:?"?+?name);??
????????????????return?0;??
????????????}??
????????}??
????????return?-1;??
????}??
??????
????private?int?searchBookByIndex()?{??
????????System.out.println("輸入圖書序號:");??
????????Scanner?input?=?new?Scanner(System.in);??
????????int?index?=?input.nextInt();??
????????if?(index?>=?0?&&?index?<?books.length)?{??
????????????System.out.println("book:?"?+?books[index]);??
????????????return?0;??
????????}??
????????return?-1;??
????}??
??????
}


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

舉報

0/150
提交
取消

困擾了一晚上的Scanner,還是不知道在哪里close?

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

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

幫助反饋 APP下載

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

公眾號

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