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

指令输入正常,程序没问题。但是指令测试bug就跳过了怎么办,求大佬指点

package com.test.trycatch;
import java.util.*;

public class TryTest {
    
    static Scanner sin = new Scanner(System.in);
    static BookFindTry[] books = {new storyBook(1,"西游记"),new storyBook(2,"红楼梦"),new storyBook(4,"水浒传"),new juvenileBook(49,"三体")};
    
    public static void main(String[] args) {
        try {
            try {
                TryTest.show();
            } catch (InputMismatchException e) {
                /*e.printStackTrace();*/
                System.out.println("命令输入错误!请根据提示输入数字命令!");
                TryTest.show();
            }
        } catch (Exception e) {
                e.printStackTrace();
                System.out.println("抱歉,您查询的图书不存在!或已被其它同学借走!");
                TryTest.show();
        }

    }
    
    private static void show() {
        System.out.println("输入命令查找图书:1-按照名称查找图书;2-按照序号查找图书");
        int intput = sin.nextInt();
        if(intput==1){
            System.out.println("请输入书名:");
            String iputbookname = sin.next();
            for(int i=0;i<books.length;i++){
                if(iputbookname.equals(books[i].bookName)){
                    System.out.println("恭喜您借书《"+books[i].bookName+"》成功!" );
                }else {
                }    
            }
        }else if (intput==2) {
            System.out.println("请输入序号:");
            int iputbookid = sin.nextInt();
            for(int i=0;i<books.length;i++){
                if(iputbookid==books[i].bookId){
                    System.out.println("恭喜您借书《"+books[i].bookName
                            +"》成功!" );
                }else {
                }    
            }
        }
    }
}

https://img1.sycdn.imooc.com//5d313f140001f83605530236.jpg

这是正确运行程序的结果图,其中每次的输入指令处都有一个try…catch判断是否输入正确,不正确泽返回上一步骤,重新输入。https://img1.sycdn.imooc.com//5d354d780001243911840671.jpg

正在回答

2 回答

开头就错了吧    静态修饰符 修饰了变量   over

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

明月暖清风 提问者

咦,好像是啊,哈哈,谢谢大佬
2019-07-22 回复 有任何疑惑可以回复我~
#2

明月暖清风 提问者

大佬,我刚改了,只能用静态修饰啊,不然主方法就不能调用其它方法
2019-07-22 回复 有任何疑惑可以回复我~
#3

慕斯卡3555197 回复 明月暖清风 提问者

我也是小萌新。。static 修饰应该没有问题 那就是show方法里的两个else没有补充完整 加上一个try catch 语句块就好了
2019-07-23 回复 有任何疑惑可以回复我~

能再详细描述一下你想实现的效果吗

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

明月暖清风 提问者

您好,老师。具体实现的效果是这样的。 输入命令:1-按照书名查询; 2-按照序号查询 ()这里输入1或者2正确进入。输入1或2以外的任何字符,比如3、4或者a、b,@、#等做报错,打印“输入错误”,并返回开始“输入命令:1-按照书名查询; 2-按照序号查询”。
2019-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

指令输入正常,程序没问题。但是指令测试bug就跳过了怎么办,求大佬指点

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