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

来源:1-9 经验总结

明月暖清风

2019-07-19 11:55

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://img4.mukewang.com/5d313f140001f83605530236.jpg

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

写回答 关注

2回答

  • 慕斯卡3555197
    2019-07-22 15:44:20

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

    慕斯卡355... 回复明月暖清风

    我也是小萌新。。static 修饰应该没有问题 那就是show方法里的两个else没有补充完整 加上一个try catch 语句块就好了

    2019-07-23 09:20:14

    共 3 条回复 >

  • qq_上天的小宝儿_uxKPWX
    2019-07-21 20:55:23

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

    明月暖清风

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

    2019-07-22 13:44:35

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题