慕课学习手记!(完成查找书籍小程序~)

首先贴一下程序要完成的功能的要求!

接下来贴一下主程序!

初学者写的代码。。。用JAVA写的

package exc;
//输入错误异常
public class ErrorException extends Exception {
    public ErrorException(){
        System.out.println("命令输入错误!请根据提示输入数字命令!");
    };
}

package exc;
//书籍不存在异常
public class NoException extends Exception {
    //两个含参构造方法,第一个是‘图书名称不存在’异常
    public NoException(String name){
        System.out.println("图书"+name+"不存在");
    }
    //第二个是‘图书序号不存在’异常
    public NoException(int num){
        System.out.println("图书序号为"+num+"的书不存在");
    }
}

package exc;
//建造的书籍类
public class Book {
     String name;
     int num;
     public Book(){};
     //含参的构造方法 用来建造带有名字和序号的书籍类
    public Book(String name,int num){
        this.name=name;
        this.num=num;
    }
}

package exc;

import java.util.Scanner;

public class Test {
    static Test qwer=new Test();
    Scanner reader=new Scanner(System.in);
    //构建书籍类数组
    Book[] books={new Book("高数", 1),
            new Book("语文", 2),
            new Book("英语", 3),
            new Book("物理", 4),
            new Book("化学", 5),
            new Book("生物", 6)
            };

    public static void main(String[] args) throws NoException  {
        // TODO Auto-generated method stub
        qwer.welcome();//提示欢迎
        qwer.xunhuan();    //调用循环函数,当出现错误时一直运行程序,直到找到正确的书籍
    }

    //程序运行的主体
        public void inputWelcome(int a) throws ErrorException, NoException{

            if (a==1) {
                System.out.println("输入图书名称"    );//采用名称查找方法
                String b=reader.next();
                qwer.corrcetName(b);//用名称确认方法查找是否存在对应书籍

            }else if (a==2) {
                System.out.println("输入图书序号");//采用序号查找方法
                int c=reader.nextInt();
                qwer.corrcetNum(c);//用序号确认方法查找是否存在对应书籍

            }else {
                throw new ErrorException();//抛出输入错误异常
            }
        }

//主干程序,完成框架
        public void retime() throws NoException{
            int a=reader.nextInt();
            try {
                qwer.inputWelcome(a);
            } catch (ErrorException e) {
                // TODO Auto-generated catch block
                qwer.welcome();
                qwer.retime();
            }
        }    

    //循环函数,当出现异常时,捕获输入错误异常,并继续执行
    public void xunhuan(){
        try {
            qwer.retime();
        } catch (NoException e) {//捕获到输入错误异常时,继续执行程序,重新查找书籍
            // TODO Auto-generated catch block
            System.out.println("输入有误,请重新选择");
            qwer.welcome();
            qwer.xunhuan();
        }
    }

//查找输入序号时的确认函数
    public void corrcetNum(int b) throws NoException{
        int i=0;
        //如果输入的序号大于数组长度或者为复数,则抛出输入错误异常
        if (b>books.length||b<0) {
            throw new NoException(b);
        }
        //数组一个个遍历,确认是否存在此序号书籍
        for (; i < books.length; i++) {
             if(books[i].num==b){
                    System.out.println("book:"+books[i].name);
                    System.out.println("恭喜您找到自己需要的书籍了!");
                    break;
                };
        }
        }

//查找输入名称时的确认函数
    public void corrcetName(String b) throws NoException{
        int i = 0;
        //数组一个个遍历,确认是否存在此名称书籍
        for (; i < books.length;i++) {
              if(books[i].name.equals(b)){
                    System.out.println("book:"+books[i].name);
                    System.out.println("恭喜您找到自己需要的书籍了!");
                    break;
                };
        }
        //当遍历完整个程序,还是没有找到输入名称书籍,则抛出书籍不存在异常
        if (i==books.length) {
            throw new NoException(b);
        }
        }

    //欢迎界面
    public void welcome(){
        System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找名称");
    }
}

希望大家看到程序的可以去跑一跑!一起参考交流一下~!

时间: 2024-10-07 01:09:50

慕课学习手记!(完成查找书籍小程序~)的相关文章

微信小程序学习 动手撸一个校园网小程序

动手撸一个校园网微信小程序 高考完毕,想必广大学子和家长们都在忙着查询各所高校的信息,刚好上手微信小程序,当练手也当为自己的学校做点宣传,便当即撸了一个校园网微信小程序. 效果预览 源码地址:Github??求你的小星星- 准备工作 微信小程序开发者工具:腾讯开放了小程序个人开发平台,只需要一个微信号就可以成为小程序开发者了. 微信小程序设计指南:由于小程序是一个平台,所以平台上的开发者必须要遵守规范. ?easy-mock:使用easy-mock模拟后端数据,后面会简单介绍配置. 七牛云:使用

python学习笔记——贰之购物车小程序_服务端

服务端大概流程:商家系统 用户可以对商品信息 进行 添加 和 修改,修改包括 删除 和修改功能首先读取文件中的商品信息,转化为列表,然后通过提示 对列表进行操作,最后将列表转成字符串保存到文本当中. 商品信息的文件格式没错就是多个两个逗号,暂时没有好的方法, ['Iphone', 5800],['Mac Pro', 9800],['Bike', 800],['Watch', 10600],['Coffee', 31],('pro', 1899), , #读取商品列表f = open('s1.tx

python学习笔记——贰之购物车小程序_客户端

客户端大概流程 :买家系统 首先输入买家他的余额,之后会进行,通过文件里的来余额判断他是否上次消费过.如果有信息,就按照文件里的余额计算,替换掉买家输入的余额,如果没有信息证明客户是第一次来,就用买家输入的余额. 然后循环输出商品下标,和商品信息.客户通过下标来选择商品.选择的商品会被加入到 购物车列表 中,然后通过下标[1]得到商品的金额.计算出消费金额,这个消费金额 如果大于余额 那么 从购物车列表里删除这个商品 告知 余额不足,并提示买多少钱以内的商品.每加进一个商品,都会计算购物车的总金

学习微信小程序系列(1) 如何注册微信小程序

目录 前言 什么是微信小程序 如何注册微信小程序 前言 去年,有一段时间,因为工作的需要,需要进行微信小程序的开发工作.刚开始接触的时候,说真的.真的5脸懵逼.工作总是这么无奈,硬生生的逼着自己从不想学,不想写.到最后,逼着自己完成了整个小程序的前后端的开发工作.又过了一段时间,再翻开回自己曾经写的代码.简直是不堪入目.于是,我又认真的学习了一下有关微信小程序的相关的基础础.ps:趁着自己脑子还行,强行mark自己是如何学习小程序的心路历程.希望,对初学者有所帮助. 什么是微信小程序 孔子都说,

MFC小程序------01 代码管理器

1.代码入库: 2.代码查找: 3.查看所有代码: 4.程序设置: 自己学习MFC写的一个小程序,其中还有许多功能还待完善,比如数据库的导入功能还没有写,但导出功能是可以用的,查找算法也不是很好,还是代码编辑框中的语言关键字应该是高亮显示的,但也还没有解决.明天考完就放假了,先记到这里,之后再继续完善该程序. 下面是程序的免费下载地址:只有.exe文件和.db数据库,不包含源码,其中数据库中含有大部分的源码可供参考: http://download.csdn.net/detail/lp31001

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

微信小程序

微信公众平台上线小程序二维码,便于商户线下推广. 1.在"设置"中查看小程序的正式二维码,该二维码只用于访问小程序的线上正式版本. 2.通过接口获得带参数二维码.最多可生成带参数二维码10000个,请谨慎调用.可参考调用文档. 然后再微信 → 发现 中就可以看到小程序了. 输入想要查找的小程序名称可以直接搜索对应的小程序. 怎么找到它们呢?你可以在"发现"里点开最后一行"小程序",在里面进行搜索. 1.现在搜索功能对模糊搜索的支持不算很好,请严格

微信小程序正式上线 可置于聊天窗口顶部

文/腾讯科技 韩依民 历经一年的等待后,小程序在2017年1月9日凌晨终于揭开神秘面纱,正式上线. 微信小程序推广海报 随着小程序正式上线,用户现在可以通过二维码.搜索等方式体验到开发者们开发的小程序了. 用户只要将微信更新至最新版本,体验过小程序后,便可在发现页面看到小程序TAB,但微信并不会通过这个地方向用户推荐小程序. 值得一提的是,小程序提供了显示在聊天顶部的功能,这意味着用户在使用小程序的过程中可以快速返回至聊天界面,而在聊天界面也可快速进入小程序,实现小程序与聊天之间的便捷切换. 微

微信小程序--火车票查询

原文:http://www.cnblogs.com/tgyf/p/5960979.html 写在最前面 微信小程序自九月份推出内测资格以来,经历了舆论热潮到现在看似冷清,但并不意味着大家不那么关注或者不关注了.我想不管是否有内测资格,只要是感兴趣的开发者已经进入潜心耕耘产品的阶段了,至少是静下心来思考与学习.如果对微信小程序的前途和定位有什么疑惑,可以看看这篇文章http://lib.csdn.net/article/wechat/46742. 下面从字母a开始编号的内容主要作为后续学习与思考后