Xxx饭堂系统(下篇)

在上一篇我们已经把系统的基本框架已经搭建完成,接下看来我们的任务就是,吧Daoceng接口的实现类完成以及各功能窗口的实现

功能窗口的搭建

菜单类

/*** 菜单类框架*/
public class Menu {private static StudentCardDaoImpl studentCardDao = new StudentCardDaoImpl();private static ConsumptionDaoImpl consumptionDao = new ConsumptionDaoImpl();private static AdministratorDaoImpl administratorDao = new AdministratorDaoImpl();private static SuperAdministratorDaoImpl superadministratorDao = new            SuperAdministratorDaoImpl();private static Scanner input = new Scanner(System.in);public static void menu() throws Exception {//主菜单//功能有:1.用户登录    2.用户注册  3.退出系统}public static void LogInMenu(int choose) throws Exception {//用户登录界面}public static void register(int choose) throws Exception {//用户注册页面}public static void exit() throws Exception {//退出系统功能}public static void towAdminMenu() throws Exception {//管理员二级菜单//功能有:1.查看所有学生饭卡信息   2.查看所有学生饭卡消费信息   3.查看指定月份学生消费总金额   4.查看        //指定月份学生充值总金额}public static void selectAllstuCardData() throws Exception {//管理员查看所有学生饭卡信息}public static void selectAllConsData() throws Exception {//管理员查看学生所有饭卡消费信息}public static String insertMonth(){//月份输入//因为有两个功能需要月份输入功能,在此打包,减少相同代码重复使用}public static void selectMonthAmount(String type,int status,String month) throws Exception {//查看指定月份学生  充值/消费  总金额//因为有两个功能需要对同一张表进行同样操作(只是传过来的参数不一样),对此我们封装成一个方法,便于调用}public static void selectMonthRechAmount() throws Exception {//查看指定月份学生充值总金额}public static void selectMonthConsAmount() throws Exception {//查看指定月份学生消费总金额}public static void towMenu(String id) throws Exception {//普通用户二级菜单//功能有:(1.饭卡充值2.余额查询3.信息查询4.饭卡消费5.查询银行卡余额6.修改信息7.用钱明细 8.退出登录)}public static void cardRecharge(String id) throws Exception {//饭卡充值}public static void balanceInquiry(String id) throws Exception {//余额查询}public static void selectStudent(String id) throws Exception {//信息查询}public static void stuConsumption(String id) throws Exception {//饭卡消费}public static void bankCardBalance(String id) throws Exception {//查询银行卡余额}public static void reviseStuData(String id) throws Exception {//修改学生信息}public static void expensesRecord(String id) throws Exception {//查询历史消费记录}
}

主菜单

主菜单页面

public static void menu() throws Exception {System.out.println("**************欢迎使用Xxxx学校饭卡业务系统**************");System.out.println("1.用户登录\t2.用户注册\t3.退出系统");System.out.print("请选择:");int a = input.nextInt();while(true){if(a == 1){while (true) {System.out.println("请选择您的身份(1.普通用户   2.管理员)");int choose = input.nextInt();if (choose == 1) {LogInMenu(1);//如果输入1则进入普通用户登录界面break;} else if (choose == 2) {LogInMenu(2);//如果输入2则进入管理员用户登录界面break;} else{System.out.println("没有这个选项!!请重新输入");continue;}}break;}else if(a == 2){while (true) {System.out.println("请选择您要注册的身份(1.普通用户   2.管理员)");int choose = input.nextInt();if (choose == 1) {register(1);//如果输入1则进入普通用户注册页面break;} else if (choose == 2) {register(2);//如果输入2则进入管理员用户注册页面break;} else{System.out.println("没有这个选项!!请重新输入");continue;}}menu();break;}else if(a == 3){exit();//退出系统System.exit(0);}else {System.out.println("输入错误请重新输入!");menu();continue;}}}

用户登录界面

public static void LogInMenu(int choose) throws Exception {if(choose == 1) {//普通用户登录System.out.print("请输入你的学号:");String studentId = input.next();System.out.print("请输入您的密码:");String password = input.next();
​StudentCard studentCard = new StudentCard();//根据id,密码获得对应对象studentCard = studentCardDao.LoginCheck(studentId, password);if (studentCard == null) {System.out.println("用户密码不存在!!");LogInMenu(choose);} else {System.out.println("登陆成功!!");towMenu(studentId);}}else {//管理员登录System.out.print("请输入您的用户名:");String username = input.next();System.out.print("请输入您的密码:");String password = input.next();
​//根据id,密码获得对应对象Administrator administrator = administratorDao.LoginCheck(username,password);if (administrator == null) {System.out.println("用户密码不存在!!");LogInMenu(choose);} else {System.out.println("登陆成功!!");towAdminMenu();}}}

用户注册页面

public static void register(int choose) throws Exception {if(choose == 1) {//普通用户注册System.out.print("请输入学号:");String studentId = input.next();
​System.out.print("请输入姓名:");String username = input.next();
​System.out.print("请输入班级:");String classname = input.next();
​System.out.print("请输入密码:");String psw = input.next();
​System.out.print("请输入银行卡金额:");Double cardMoney = input.nextDouble();
​StudentCard studentCard = new StudentCard();//将用户从控制台输入的信息从放到一个对象中studentCard.setSid(studentId);studentCard.setSanme(username);studentCard.setMoney(0.0);studentCard.setClassName(classname);studentCard.setPassword(psw);studentCard.setCardMoney(cardMoney);
​//把对象信息传入数据库int status = studentCardDao.addStudentCard(studentCard);if (status > 0) {//数据增删改返回的输一个int类型值,表示此操作影响多少行System.out.println("注册成功!!");}}else {//管理员注册while (true) {System.out.println("-------------超级管理员验证-------------");//管理员不是谁都能随便注册的,所以要经过超级管理员认证,认证成功方可注册System.out.print("请输入超级管理员的用户名:");String username = input.next();System.out.print("请输入超级管理员的密码:");String password = input.next();
​//检测超级管理员账号密码是否正确SuperAdministrator superAdministrator =             superadministratorDao.chechLogin(username, password);if (superAdministrator == null) {System.out.println("用户名密码错误,验证失败。。");continue;} else {System.out.println("验证成功!!");//towMenu(studentId);System.out.println("请输入您要注册的管理员信息");System.out.print("请输入用户名:");String username1 = input.next();System.out.print("请输入密码:");String password1 = input.next();
​Administrator administrator = new Administrator();administrator.setUsername(username1);administrator.setPassword(password1);int status = administratorDao.addAdministrator(administrator);if (status > 0) {System.out.println("注册成功!");} else {System.out.println("注册失败。。");}break;}}}}

退出系统功能

public static void exit() throws Exception {System.out.print("关闭系统中");for (int i = 0; i < 5; i++) {Thread.sleep(380);System.out.print(".");}Thread.sleep(380);System.out.println();System.out.println("感谢使用,期待下次再会~");}

管理员

管理员二级菜单

 public static void towAdminMenu() throws Exception {System.out.println("***************欢迎进入管理员系统***************");System.out.println("请选择以下业务");System.out.println("1.查看所有学生饭卡信息   2.查看所有学生饭卡消费信息   3.查看指定月份学生消费总金额   4.查看指定月份学生充值总金额   " +"5.退出登录");int choose = input.nextInt();while (true){if(choose == 1){selectAllstuCardData();break;}else if(choose == 2){selectAllConsData();break;}else if(choose == 3){selectMonthRechAmount();break;}else if(choose == 4){selectMonthConsAmount();break;} else if(choose == 5){menu();break;}else {System.out.println("没有这个选项");continue;}}}

查看所有学生饭卡信息

public static void selectAllstuCardData() throws Exception {List<StudentCard> studentCards = administratorDao.selectCardDataAll();for (StudentCard studentCard : studentCards) {System.out.println("学生学号:" + studentCard.getSid() + "  姓名:" + studentCard.getSanme() +"   班级:" + studentCard.getClassName() + "   饭卡余额:" + studentCard.getMoney());}towAdminMenu();
}

查看学生所有饭卡消费信息

public static void selectAllConsData() throws Exception {int status = Constant.CONSUMPTION;List<Consumption> consumptions = administratorDao.selectConDataAll(status);for (Consumption consumption : consumptions) {System.out.println("学号:" + consumption.getConsid() + "  于 " + consumption.getDate() + " 消费 " +consumption.getMoney() + " 元。");}towAdminMenu();
}

月份输入功能

public static String insertMonth(){String mo = null;while (true) {System.out.println("请输入您想查看的月数(1-12):");int month = input.nextInt();if (month >= 1 && month <= 12) {if (month <= 9) {mo = "0" + month;break;} else {mo = month + "";break;}}else {System.out.println("只能输入1-12的数字,请重新输入!!");continue;}}return mo;
}

查看指定月份学生 充值/消费 总金额功能

public static void selectMonthAmount(String type,int status,String month) throws Exception {List<Consumption> consumptions = administratorDao.selectMonthData(month,status);double amount = 0.0;for (Consumption consumption : consumptions) {amount += consumption.getMoney();}System.out.println("本月学生" + type + "总金额为:" + amount + "元。");towAdminMenu();
}

查看指定月份学生充值总金额

public static void selectMonthRechAmount() throws Exception {String month = insertMonth();selectMonthAmount("消费",Constant.CONSUMPTION,month);
}

查看指定月份学生充值总金额

public static void selectMonthConsAmount() throws Exception {String month = insertMonth();selectMonthAmount("充值",Constant.RECHARGE,month);
}

普通用户

普通用户二级菜单

public static void towMenu(String id) throws Exception {System.out.println("***************欢迎使用饭卡服务系统***************");System.out.println("请选择以下业务:");System.out.println("(1. 饭卡充值   2.余额查询   3.信息查询   4.饭卡消费   5.查询银行卡余额   6.修改信息   7.用钱明细   8.退出登录)");int choose = input.nextInt();switch (choose){case 1:cardRecharge(id);break;case 2:balanceInquiry(id);break;case 3:selectStudent(id);break;case 4:stuConsumption(id);break;case 5:bankCardBalance(id);break;case 6:reviseStuData(id);break;case 7:expensesRecord(id);break;case 8:menu();break;default:System.out.println("输入错误");break;}
}

饭卡充值

public static void cardRecharge(String id) throws Exception {Consumption consumption = new Consumption();//根据id获取学生卡信息StudentCard studentCard = studentCardDao.selectstudentCard(id);double cardMoney = studentCard.getCardMoney();double odlMoney = studentCard.getMoney();
​System.out.print("请输入充值金额:");double money = input.nextDouble();if(money > cardMoney){System.out.println("银行卡余额不足,请重新输入充值金额");cardRecharge(id);}else {double newMoney = money + odlMoney;studentCard.setCardMoney(cardMoney - money);studentCard.setMoney(newMoney);}
​//把学生卡对象信息存入数据库int status = studentCardDao.UpDataStudentCard(studentCard);StudentCard studentCard1 = studentCardDao.selectstudentCard(id);System.out.println("饭卡余额为:" + studentCard1.getMoney());System.out.println("银行卡余额为:" + studentCard1.getCardMoney());if(status > 0){System.out.println("充值成功!");
​consumption.setType(Constant.RECHARGE);consumption.setMoney(money);//获取当前时间SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date nowtime = new Date(System.currentTimeMillis());consumption.setDate(format.format(nowtime));consumption.setConsid(id);consumptionDao.addComData(consumption);}else {System.out.println("充值失败。。");}towMenu(id);
}

余额查询

public static void balanceInquiry(String id) throws Exception {StudentCard studentCard = studentCardDao.selectstudentCard(id);System.out.println("当前饭卡余额为:" + studentCard.getMoney());towMenu(id);
}

信息查询

public static void selectStudent(String id) throws Exception {StudentCard studentCard = studentCardDao.selectstudentCard(id);System.out.println("您的信息为:");System.out.println("学号:" + studentCard.getSid());System.out.println("姓名:" + studentCard.getSanme());System.out.println("班级:" + studentCard.getClassName());towMenu(id);
}

饭卡消费

public static void stuConsumption(String id) throws Exception {StudentCard studentCard = studentCardDao.selectstudentCard(id);Consumption consumption = new Consumption();double money = studentCard.getMoney();//消费前余额Double amount = 0.0;while (true) {System.out.print("请输入你要消费的金额:");amount = input.nextDouble();//消费金额if (amount > studentCard.getMoney()) {System.out.println("余额不足,所剩余额为:" + studentCard.getMoney());continue;}else {break;}}double newMoney = money - amount;//消费后的余额studentCard.setMoney(newMoney);//把余额更新存到对象里studentCardDao.UpDataStudentCard(studentCard);
​StudentCard studentCard1 = studentCardDao.selectstudentCard(id);System.out.println("饭卡余额为:" + studentCard1.getMoney());
​//把消费账单添加到记录中consumption.setType(Constant.CONSUMPTION);consumption.setMoney(amount);
​SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date nowtime = new Date(System.currentTimeMillis());consumption.setDate(format.format(nowtime));consumption.setConsid(id);consumptionDao.addComData(consumption);towMenu(id);
}

查询银行卡余额

public static void bankCardBalance(String id) throws Exception {StudentCard studentCard = studentCardDao.selectstudentCard(id);System.out.println("当前银行卡余额为:" + studentCard.getCardMoney());towMenu(id);
}

修改学生信息

public static void reviseStuData(String id) throws Exception {//查询用户信息StudentCard studentCard = studentCardDao.selectstudentCard(id);String name = studentCard.getSanme();String className = studentCard.getClassName();String password = studentCard.getPassword();while (true) {System.out.println("请选择您要修改的信息(1.姓名  2.班级  3.密码  4.确认并修改)");int choose = input.nextInt();if (choose == 1) {System.out.print("请输入您修改后的名字:");name = input.next();continue;} else if (choose == 2) {System.out.print("请输入您修改后的班级:");className = input.next();continue;} else if (choose == 3) {System.out.print("请输入您修改后的密码:");password = input.next();continue;} else if (choose == 4) {System.out.print("正在为您更新信息");for (int i = 0; i < 5; i++) {Thread.sleep(300);System.out.print(".");}break;} else {System.out.println("没有这个选项!!请重新输入!!");continue;}}studentCard.setSanme(name);studentCard.setClassName(className);studentCard.setPassword(password);studentCard.setSid(id);int count = studentCardDao.UpDataStudentCard(studentCard);if(count > 0){System.out.println("修改成功!!");}else {System.out.println("修改失败...");}towMenu(id);
}

查询历史消费记录

public static void expensesRecord(String id) throws Exception {Consumption consumption = new Consumption();consumption.setConsid(id);List<Consumption> consumptions = consumptionDao.selectAll(id);for (Consumption consumption1 : consumptions) {if(consumption1.getType() == Constant.CONSUMPTION) {//消费System.out.println("您于 " + consumption1.getDate() + " 消费了 " + consumption1.getMoney() + "元。");}else if(consumption1.getType() == Constant.RECHARGE){System.out.println("您于 " + consumption1.getDate() + " 充值了 " + consumption1.getMoney() + "元。");}}towMenu(id);
}

Dao层接口实现类

AdministratorDaoImpl管理员

public class AdministratorDaoImpl implements AdministratorDao {@Override//管理员登录检测public Administrator LoginCheck(String username, String password) {String sql = "select * from tb_administrator where username = ? and password = ?;";List<Administrator> administrators = new ArrayList<>();try {administrators = JDBCUtil.executrDQL(sql,Administrator.class,username,password);} catch (Exception e) {e.printStackTrace();}return administrators == null || administrators.isEmpty() ? null:administrators.get(0);}
​@Override//注册管理员用户public int addAdministrator(Administrator administrator) {String sql = "insert into tb_administrator(username,password) values (?,?);";int status = 0;try {status = JDBCUtil.executrDML(sql,administrator.getUsername(),administrator.getPassword());} catch (Exception e) {e.printStackTrace();}return status;}
​@Override//查看所有学生饭卡信息public List<StudentCard> selectCardDataAll() {String sql = "select * from tb_meal_card;";List<StudentCard> studentCards = new ArrayList<>();try {studentCards = JDBCUtil.executrDQL(sql,StudentCard.class);} catch (Exception e) {e.printStackTrace();}return studentCards;}
​@Override//查看所有学生饭卡消费信息public List<Consumption> selectConDataAll(int status) {String sql = "select * from tb_consumption where type = ?;";List<Consumption> consumptions = new ArrayList<>();try {consumptions = JDBCUtil.executrDQL(sql,Consumption.class,status);} catch (Exception e) {e.printStackTrace();}return consumptions;}
​@Override//查看指定月份所有学生饭卡的  消费/充值  信息public List<Consumption> selectMonthData(String month,int status) {String sql = "select * from tb_consumption where date like concat('_____',?,'%') and type = ?;";List<Consumption> consumptions = new ArrayList<>();try {consumptions = JDBCUtil.executrDQL(sql,Consumption.class,month,status);} catch (Exception e) {e.printStackTrace();}return consumptions;}
}

ConsumptionDaoImpl消费表

public class ConsumptionDaoImpl implements ConsumptionDao {//添加充值记录@Overridepublic int addComData(Consumption consumption) {String sql = "insert into tb_consumption (type,money,date,consid) values (?,?,?,?);";try {JDBCUtil.executrDML(sql,consumption.getType(),consumption.getMoney(),consumption.getDate(),consumption.getConsid());} catch (Exception e) {e.printStackTrace();}return 0;}
​@Override//查询参数ID的消费记录public List<Consumption> selectAll(String id) {String sql = "select * from tb_consumption where consid = ?;";List<Consumption> consumptions = new ArrayList<>();try {consumptions = JDBCUtil.executrDQL(sql,Consumption.class,id);} catch (Exception e) {e.printStackTrace();}return consumptions;}
}

StudentCardDaoImpl学生饭卡

public class StudentCardDaoImpl implements StudentCardDao {@Override//普通用户登录检测public StudentCard LoginCheck(String id, String password) {String sql = "select * from tb_meal_card where sid = ? and password = ?;";List<StudentCard> studentCards = new ArrayList<>();try {studentCards = JDBCUtil.executrDQL(sql,StudentCard.class,id,password);} catch (Exception e) {e.printStackTrace();}return studentCards == null || studentCards.isEmpty() ? null:studentCards.get(0);}
​@Override//普通用户注册用户public int addStudentCard(StudentCard studentCard) {String sql = "insert into tb_meal_card(sid,sanme,className,money,password,cardMoney) values (?,?,?,?,?,?);";int status = 0;try {status = JDBCUtil.executrDML(sql,studentCard.getSid(),studentCard.getSanme(),studentCard.getClassName(),studentCard.getMoney(),studentCard.getPassword(),studentCard.getCardMoney());} catch (Exception e) {e.printStackTrace();}return status;}
​@Override//根据参数ID查询对应饭卡信息public StudentCard selectstudentCard(String id) {String sql = "select * from tb_meal_card where sid = ?;";List<StudentCard> studentCards = null;try {studentCards = JDBCUtil.executrDQL(sql,StudentCard.class,id);} catch (Exception e) {e.printStackTrace();}return studentCards == null || studentCards.isEmpty() ? null:studentCards.get(0);}
​@Override//根据参数ID修改对应学生饭卡信息public int UpDataStudentCard(StudentCard studentCard) {String sql = "update tb_meal_card set sanme = ?,className = ?,money = ?,password = ?,cardMoney = ? where sid = ?;";int status = 0;try {status = JDBCUtil.executrDML(sql,studentCard.getSanme(),studentCard.getClassName(),studentCard.getMoney(),studentCard.getPassword(),studentCard.getCardMoney(),studentCard.getSid());} catch (Exception e) {e.printStackTrace();}return status;}
}

SuperAdministratorDaoImpl超级管理员

public class SuperAdministratorDaoImpl implements SuperAdministratorDao {/*** 超级管理员验证登录*/public SuperAdministrator chechLogin(String username,String password) {String sql = "select * from tb_super_administrator where username = ? and password = ?;";List<SuperAdministrator> superAdministrators = new ArrayList<>();try {superAdministrators = JDBCUtil.executrDQL(sql,SuperAdministrator.class,username,password);} catch (Exception e) {e.printStackTrace();}return superAdministrators == null || superAdministrators.isEmpty() ? null : superAdministrators.get(0);}
}

系统基本框架及数据表的构建在上篇

http://t.csdn.cn/ZoPZJ

欢迎大家点赞、评论和收藏

Xxx饭堂系统 JAVA+SQL+JDBC完成一个小项目(下篇)相关推荐

  1. 基于javaweb的在线蛋糕商城系统(java+jsp+jdbc+mysql)

    基于javaweb的在线蛋糕商城系统(java+jsp+jdbc+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/s ...

  2. 基于javaweb+mysql的学生选课系统(java+javaweb+jdbc)

    基于javaweb+mysql的学生选课系统(java+javaweb+jdbc) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...

  3. 基于javaweb的学生选课系统(java+javaweb+jdbc)

    基于javaweb的学生选课系统(java+javaweb+jdbc) 功能介绍: 用户菜单.学生管理.教师管理.课程管理.成绩排名查询 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 //验 ...

  4. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  5. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)...

    两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件,这个项目当时是跟 他们的网络中心的老师洽谈的,网络中心负责此项目的老师,跟我们年龄差不多,30不到,可能要比我小上2 ...

  6. 三年前的一个小项目经验,分享给菜鸟兄弟们

    原文地址 (公文收发小软件:前期需求调查部分) 日期:2009年1月1日  晚上 分类:项目开发经验 两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件.这个项目当时是 ...

  7. 做了一个小项目-PHP实现人生只有900个月

    做了一个小项目-PHP实现人生只有900个月 ​ 起因当然是阮一峰老师那篇振聋发聩的博文<人生只有900个月>,几年前看到以后羞愧到无法自拔,想到自己曾经浪费多少时间,在一些无意义的事情上 ...

  8. c语言计算学生成绩的合格率,分享一个几年前刚学c的一个小项目。成绩的输入,查询,排序,插...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 分享一个几年前刚学c的一个小项目.成绩的输入,查询,排序,插入,删除,修改,求平均分总分.合格率的,对于初学者可以看看这种. #include void ...

  9. 通过一个小项目介绍Python3读写Access数据库(.mdb)的方法

    1. 小项目功能介绍 本文通过一个小项目介绍Python3读写Access数据库(.mdb)的方法,该项目功能较简单,将mdb中的旧编码替换为新编码,新旧编码对照表放在1个excel(本文命名为新旧编 ...

最新文章

  1. c#json对象转数组_数组和对象的区别
  2. android 实现定时任务,Android 实现定时任务的过程详解
  3. hdu5389(DP)
  4. 项目整合一级缓存和二级缓存
  5. python get post区别_大话Python, webpy教程之GET和POST区别
  6. 使用spring的事务的三种方法
  7. python 模拟用户点击浏览器_Selenium(python版本)如何启动浏览器模拟点击网页链接或按钮?...
  8. 计算机屏幕地图是不是地图,地图软件 如何在截图时超出一个屏幕?
  9. 计算机相关专业EI及SCI国际会议及期刊汇总
  10. 【论文精读】TransE 及其实现
  11. 内网地址映射到公网地址
  12. 正版maya安装时,更改注册登录方式方法
  13. Linux系统管理员对普通用户的基本操作
  14. VT100 终端控制码
  15. java file exists用法_Java File exists()方法
  16. python编程题:天天向上的力量
  17. Excel快速下拉填充序列至10000行
  18. 西瓜错时上市销售,提高经济效益的背后是技术支持!
  19. TensorFlow入门教程:8:训练数据之Iris数据集
  20. 毕业季,作为程序员(it软件开发工程师),如何培养强大的解决问题的能力

热门文章

  1. Mac OS X 系统目录结构
  2. 2023年西南交通大学马克思主义理论考研上岸前辈备考经验
  3. vue axios介绍
  4. C# 中的委托和事件1
  5. Jackson荧光染料丨艾美捷Jackson Alexa Fluor®荧光染料
  6. 程序员需要了解的硬核知识之控制硬件
  7. 超强大在线词频统计功能,从一篇文章到一个G的文本均可轻松统计
  8. matlab dfe 仿真,Matlab Simulink
  9. 吴冠中的一类国画:盛世的迷思
  10. 2018辽大计算机拟录取,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...