为了账号安全,请及时绑定邮箱和手机立即绑定

实现代码如下

复制粘贴格式化,我还没调试,如果有错误可以回复分享一下。

package com.booksearch;


import java.util.*;


public class BookSearch {

public static void main(String[] args) {

String[] books = { "数据结构", "高数", "论语" };

boolean flag = true;

while (flag) {

try {

System.out.println("输入命令:1.按照名称查图书;2.按照序号查图书");

Scanner input = new Scanner(System.in);

int cmdnum = input.nextInt();

if (cmdnum == 1) {

System.out.println("输入图书名称:");

String name = input.next();

for (String book : books) {

if (book.equals(name)) {

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

flag = false;

break;

}

}

if (flag) {

System.out.println("图书不存在");

continue;

}

} else if (cmdnum == 2) {

System.out.println("输入图书序号:");

int id = input.nextInt();

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

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

System.out.println("book:" + books[id - 1]);

flag = false;

break;

}

}

if (flag) {

System.out.println("图书不存在");

continue;

}

}

} catch (Exception e) {

System.out.println("命令输入错误!请输入数字命令!");

continue;

}

}

}

}


正在回答

1 回答

try catch没用吧。。

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

神影天初 提问者

while底下不是try吗?倒数第七不是catch吗?
2018-08-12 回复 有任何疑惑可以回复我~
#2

omoide 回复 神影天初 提问者

因为你的try catch内并没有什么语法错误,所以他应该不会检测到,你不信可以去掉试试,还有也不必flag = false,因为与break重复了。
2018-08-18 回复 有任何疑惑可以回复我~
#3

神影天初 提问者 回复 omoide

去掉try-catch会报错的,而且我的break是为了终止for循环而不是while循环,你看清楚在回复。。。。。。
2018-08-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

实现代码如下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信