weixin_慕用1239336
你这个应该是数组越界,for循环里i<bookList.length,把“=”去掉看一下。
weixin_慕用1239336
import java.util.Scanner; public class BorrowBook { public static void main(String[] args) { // 初始化图书列表 String[] bookList = {"Book1", "Book2", "Book3"}; Scanner scanner = new Scanner(System.in); int order = 0; try { System.out.println("请输入操作序号:"); order = scanner.nextInt(); } catch (Exception e) { System.out.println("输入有误:" + e.getMessage()); } switch (order) { case 1: System.out.println("请输入要借阅的图书名称:"); String bookName = scanner.next(); try { for (int i = 0; i < bookList.length; i++) { String book = bookList[i]; if (bookName.equals(book)) { System.out.println("借阅成功:" + book); } } } catch (Exception e) { System.out.println("出现异常:" + e.getMessage()); } break; case 2: System.out.println("请输入要借阅的图书序号:"); int num = 0; try { num = scanner.nextInt(); } catch (Exception e) { System.out.println("输入有误:" + e.getMessage()); } try { System.out.println("借阅成功:" + bookList[num - 1]); } catch (Exception e) { System.out.println("出现异常:" + e.getMessage()); } break; default: System.out.println("无效的操作序号"); break; } scanner.close(); } }
Y_14
贴图太模糊了,我电脑是看不清的,建议你直接复制代码
都是已存在
这个写得还可以
心形罐装病毒
牛啊,膜拜
weixin_慕桂英9495175
你这个不是按题目做的啊 题目是要求 根据书名查询或者序号查询 你这个是序号和书名都要输入
weixin_慕丝7238881
这个包的说明有吗
慕小庄
boolean exit = false;
if(i) { System.out.println("已找到《" + bookData.name + "》,編號:" + bookData.id);
exit = true;}
if(!exit){ System.out.println("sorry, no fund"); }
!exit 是非真还是非假?
qq_稚终_2
weixin_慕侠4060450
好棒啊
bulecaeser
???
慕神6168092
感觉上就只有你编写的代码是方便的,我挺喜欢的。
qq_宝慕林5300699
你可能不会使用慕课网的编辑器。。。。。
慕瓜6161585
当书本数量很多的时候,一个个创建类就麻烦了
慕村7533405
/***
1、循环体+return 可以在用户输入错误时可以在选择输入,退出时可以退出整个程序。
2、catch 出的错误,我们提示“错误”,不要用系统的错误,用户体验更好。
*/
public static void select(){
System.out.println("请输入命令:1-按照书籍名称查找书籍。2-按照书籍序号查找图书");
while(true){
try{
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a == 1){ Name();
return; //退出
}else if(a == 2){ Num();
return; //退出
}else{
System.out.println("你输入的命令有误!");
//select();
}
}catch(Exception e){
//e.printStackTrace();
System.out.println("请输入1、2选择操纵");
}
}
}
qq_慕莱坞0003151
慕丝6263601
我看着头大 帮忙整理一下 希望能够帮助解答者
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;
}
}
慕雪127241
你这个程序有Bug,应该把choose1()方法中的try..catch捕捉异常替换为default语句。
慕数据2978352

效果图

慕用8157017
你这不对啊,书名输入错误之后,你这后面没法继续进行下去了
终是温柔付错人
666
weixin_慕瓜3594852
牛掰啊
weixin_慕瓜3594852
我碰巧看到了,那我就指出一下美中不足的地方吧,首先源码缺乏对于输入输出流的关闭,其次呢if else过多,如果能够将大量的if else都用异常来处理就好了。然后呢,关于字符串匹配好像可以用现成的库方法调用
不学无墅NKer
你是大哥
小涂啥也不知道
这是运行结果
慕前端2587650
我觉得你这个对于刚学的或者基础不是很好的,比如我,就是一种福利,因为容易看得懂,我看过好几个的,理解起来比较费力
远赴山河万里
阔以的,很强,也不知道要回答什么,方法封装的很好,可以改成public去使用
退回无路AI
牛批!
AZym
IDEA
一个优雅的男孩
厉害,向你学习