利用Java实现简单的学员日报管理

最近老师要求我们做一个日报管理系统,要求如下:
设计一个日报信息管理系统,系统中包含两种用户(学生,老师),其中学生具备注册,登录,日报提交,查看自己提交的日报,修改已提交的日报功能,删除日报等功能;老师具备登录的功能(账号密码固定为softeem/admin123,无需注册),老师登录后可以查看所有学生提交的日报,以及查看当日学生提交的日报等功能,具体功能点:

学生

  1. 注册
  2. 登录
  3. 提交日报
  4. 查看所有日报(自己提交的)
  5. 修改日报(根据日报id修改)

老师:

  1. 登录
  2. 查看所有学生日报
  3. 查询指定学生的日报
  4. 删除指定学生日报
  5. 查询当前提交的日报(扩展功能:选做)
  6. 统计当日提交的日报总数以及未提交数(扩展功能:选做)

我尝试了一下,首先建立两个类:学生类日报类

/**学生类*/
public class Student {private String username;private String password;private int id;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getId() {return id;}public void setId(int $id) {id=$id;}public Student() {super();}public Student(String username, String password) {super();this.username = username;this.password = password;}@Overridepublic String toString() {return "Student [username=" + username + ", password=" + password + ", id=" + id + "]";}}
/**日报类*/
import java.util.Date;public class DailyPaper {private String character;private Date date = new Date();private int id ;private int day = date.getDate();public String getCharacter() {return character;}public void setCharacter(String character) {this.character = character;}public void setDay(int $day) {day = $day;}public int getDay() {return day;}public int getId() {return id;}public void setId(int $id) {id=$id;}
}

然后建立一个管理类,在里面实现需要的功能:

/**管理类*/import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;public class Manager {private ArrayList<Student> stu = new ArrayList();private ArrayList<DailyPaper> dp = new ArrayList();private Date date = new Date();private int index=-1;private boolean passStu = false;private boolean passTea = false;private int index2=-1;/**学生注册*/private void registerStu() {index++;Student stu2 = new Student();Scanner sc = new Scanner(System.in);System.out.println("正在进行学生注册");System.out.println("请输入用户名:");if(sc.hasNextLine()) {stu2.setUsername(sc.nextLine());}System.out.println("请输入密码:");if(sc.hasNextLine()) {stu2.setPassword(sc.nextLine());}stu2.setId(index);index2=index;stu.add(stu2);System.out.println("注册成功!");}/**学生登录*/private boolean entryStu() {Scanner sc = new Scanner(System.in);String $username="";String $password="";System.out.println("正在进行学生登录");System.out.println("请输入用户名:");if(sc.hasNextLine()) {$username = sc.nextLine();}System.out.println("请输入密码:");if(sc.hasNextLine()) {$password = sc.nextLine();}for(int i=0;i<stu.size();i++) {if(stu.get(i).getUsername().equals($username)&&stu.get(i).getPassword().equals($password)) {index2=i;System.out.println("登录成功!");return true;}}System.out.println("登录失败");return false;}/**学生提交日报*/public void submitStu() {Scanner sc = new Scanner(System.in);DailyPaper dp2 = new DailyPaper();System.out.println("正在提交日报");System.out.println("请输入日报内容:(换行请使用\\n)");if(sc.hasNextLine()) {dp2.setCharacter(sc.nextLine());}dp2.setDay(date.getDate());dp2.setId(index2);dp.add(dp2);System.out.println("提交成功!");}/**学生查看日报*/public void checkStu() {Scanner sc = new Scanner(System.in);int temp2=0;int f=-1;System.out.println("正在查看日报:");System.out.println("请输入日期:");if(sc.hasNextLine()) {temp2=sc.nextInt();}for(DailyPaper temp:dp) {if(temp.getId()==index2&&temp.getDay()==temp2) {System.out.println(temp.getCharacter()+"\t"+temp.getDay());f=1;}}if(f==-1) {System.out.println("该天没有日报");}}/**学生修改日报*/public void updateStu() {Scanner sc = new Scanner(System.in);int f=-1;int temp2=0;System.out.println("正在修改学生日报");System.out.println("请输入日报的日期:");if(sc.hasNextLine()) {temp2=sc.nextInt();}for(DailyPaper temp:dp) {if(temp.getId()==index2&&temp.getDay()==temp2) {System.out.println("请输入修改的内容:");if(sc.hasNextLine()) {temp.setCharacter(sc.nextLine());System.out.println("修改成功!");f=1;}}}if(f==-1) {System.out.println("该天没有日报");}}/**学生删除日报*/public void deleteStu() {Scanner sc = new Scanner(System.in);int f=-1;int temp2=0;System.out.println("正在删除学生日报");System.out.println("请输入日报的日期:");if(sc.hasNextLine()) {temp2=sc.nextInt();}for(DailyPaper temp:dp) {if(temp.getId()==index2&&temp.getDay()==temp2) {temp=null;System.out.println("删除成功!");f=1;}}if(f==-1) {System.out.println("该天没有日报");}}/**老师登录*/public boolean entryTea() {Scanner sc = new Scanner(System.in);String $username="";String $password="";System.out.println("正在进行老师登录");System.out.println("请输入用户名:");if(sc.hasNext()) {$username = sc.nextLine();}System.out.println("请输入密码:");if(sc.hasNext()) {$password = sc.nextLine();}if($username.equals("softeem")&&$password.equals("admin123")) {System.out.println("登录成功!");return true;}System.out.println("登录失败");return false;}/**老师查看日报*/public void checkTea() {Scanner sc = new Scanner(System.in);int temp2=0;int $id=-1;int f=-1;System.out.println("正在查看日报:");System.out.println("请输入学生的id");if(sc.hasNextLine()) {$id=sc.nextInt();}System.out.println("请输入日期:");if(sc.hasNextLine()) {temp2=sc.nextInt();}for(DailyPaper temp:dp) {if(temp.getId()==$id&&temp.getDay()==temp2) {System.out.println(temp.getCharacter()+"\t"+temp.getDay());f=1;}}if(f==-1) {System.out.println("该学生该天没有日报");}}/**老师修改日报*/public void updateTea() {Scanner sc = new Scanner(System.in);int f=-1;int $id=-1;int temp2=0;System.out.println("正在修改学生日报");System.out.println("请输入学生的id");if(sc.hasNextLine()) {$id=sc.nextInt();}System.out.println("请输入日报的日期:");if(sc.hasNextLine()) {temp2=sc.nextInt();}for(DailyPaper temp:dp) {if(temp.getId()==$id&&temp.getDay()==temp2) {System.out.println("请输入修改的内容:");if(sc.hasNextLine()) {temp.setCharacter(sc.nextLine());System.out.println("修改成功!");f=1;}}}if(f==-1) {System.out.println("该学生该天没有日报");}}/**老师删除日报*/public void deleteTea() {Scanner sc = new Scanner(System.in);int f=-1;int $id=-1;int temp2=0;System.out.println("正在删除学生日报");System.out.println("请输入学生的id");if(sc.hasNextLine()) {$id=sc.nextInt();}System.out.println("请输入日报的日期:");if(sc.hasNextLine()) {temp2=sc.nextInt();}for(DailyPaper temp:dp) {if(temp.getId()==$id&&temp.getDay()==temp2) {temp=null;System.out.println("删除成功!");f=-1;}}if(f==-1) {System.out.println("该天没有日报");}}/**老师查询当天提交的日报*/public void showAll() {Scanner sc = new Scanner(System.in);System.out.println("以下是今天提交的所有日报:");for(DailyPaper item:dp) {if(item.getDay()==date.getDate()) {for(Student item2:stu) {if(item2.getId()==item.getId()) {System.out.println("id:"+item2.getId()+"\n日报内容:"+item.getCharacter());}}}}}/**老师统计当天日报提交数以及未提交数*/public void sumDp() {int sum=0;for(DailyPaper item:dp) {if(item.getDay()==date.getDate()) {sum++;}}System.out.println("今天提交的日报数为:"+sum);int sum2=0;sum2=stu.size()-sum;System.out.println("今天没提交的日报数为:"+sum2);}/**界面管理*/public void server() {Scanner sc = new Scanner(System.in);int item = -1;System.out.println("日报管理系统");System.out.println("学生注册请输入1");System.out.println("学生登录请输入2");System.out.println("老师登录请输入3");if(sc.hasNext()) {item=sc.nextInt();}switch(item) {case 1: registerStu();System.out.println("提交日报请输入1");System.out.println("修改日报请输入2");System.out.println("查询日报请输入3");System.out.println("删除日报请输入4");if(sc.hasNext()) {item=sc.nextInt();}switch(item) {case 1:submitStu();break;case 2:updateStu();break;case 3:checkStu();break;case 4:deleteStu();break;}break;case 2: passStu=entryStu();if(passStu) {System.out.println("提交日报请输入1");System.out.println("修改日报请输入2");System.out.println("查询日报请输入3");System.out.println("删除日报请输入4");if(sc.hasNext()) {item=sc.nextInt();}switch(item) {case 1:submitStu();break;case 2:updateStu();break;case 3:checkStu();break;case 4:deleteStu();break;}}break;case 3: passTea=entryTea();if(passTea) {System.out.println("查询日报请输入1");System.out.println("修改日报请输入2");System.out.println("删除日报请输入3");System.out.println("查询当天日报请输入4");System.out.println("查询当天日报提交数及未提交数请输入5");if(sc.hasNext()) {item=sc.nextInt();}switch(item) {case 1:checkTea();break;case 2:updateTea();break;case 3:deleteTea();break;case 4:showAll();break;case 5:sumDp();break;}}break;default:break;}passStu=false;passTea=false;System.out.println("返回主菜单请输入6");if(sc.hasNext()) {item=sc.nextInt();}if(item==6) {server();}}}

最后在主方法里调用管理类:

public class Test {public static void main(String[] args) {Manager ma = new Manager();ma.server();}}

控制台演示如下:

利用Java实现简单的日报管理相关推荐

  1. 基于《仙剑奇侠传柔情版》利用Java的简单实现(一)

    基于<仙剑奇侠传柔情版>利用Java的简单实现(一) 2018-12-01 23:55:36   by Louis  一,新建一个类GameFrame.class,具体代码如下: pack ...

  2. Android 数据存储 利用SQLiteDatabase实现简单的学生管理

    转载请注明出处:明桑Android 这是作为上一篇Android 数据存储 如何搞定SQLite Database的实例练习,之所以单独列出来是因为除了数据库方面的知识,还涉及其它方面的知识,所以就写 ...

  3. 利用Java实现简单的多人聊天(微信的基础实现原理TCP)

    前言 最近在java中了解到了基于TCP的网络编程,即可以通过构建连接来使得客户机和服务器之间进行信息的交互(文字.文件.图片等等),之前也听说过利用java可以实现一个简单的网络聊天室.因此,我就自 ...

  4. 利用java实现简单的RPC服务调用

    一.前言 RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输 ...

  5. 用java制作扑克牌_利用java实现简单的扑克牌小游戏

    扑克牌小游戏: (推荐教程:java课程) 游戏玩法简介:定义五个People在玩扑克牌游戏,玩法是5个人从一副没有大小王的扑克牌中各抽取4张,牌的类型有四种:♥,♣,♠,♦.牌的大小为从1~13.( ...

  6. java制作mp3_利用java制作简单的音乐播放器

    本文主要是用到java中的swing技术,以及JMFjar中的API,为大家分享了java音乐播放器的具体实现代码,供大家参考,具体内容如下 备注:需要用JDK1.8才能播放音乐MP3 package ...

  7. java 操作系统 模拟 daima_编写一个程序,利用Java语言模拟操作系统进程调度管理...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.util.PriorityQueue; public class Process implements Comparable { ...

  8. 利用Java编写简单的猜拳游戏

    猜拳游戏要求用Java编写一个人机对战并判断输赢,记录输赢情况. 其中,1代表石头,2代表剪刀,3代表布,110表示结束游戏. 思路:首先定义输入函数,并提示用户输入猜拳数值,定义一个随机数代表电脑数 ...

  9. 词法分析器java_利用Java实现简单的词法分析器实例代码

    首先看下我们要分析的代码段如下: 输出结果如下: 输出结果(a).PNG 输出结果(b).PNG 输出结果(c).PNG 括号里是一个二元式:(单词类别编码,单词位置编号) 代码如下: package ...

  10. 利用FullCalendar做简单的日程管理,以及后台动态更新数据出现的问题。

    第一:总体效果. 1.初始化日历: 2.点击某一天可以添加日程: 3.点击已添加的日程可以进行修改.删除.分享: 4.点击分享,可以选择系统内的人员进行日程的分享: 5.如果是上级,可以通过日历左上角 ...

最新文章

  1. 一个很好的 emacs 配置文件范例
  2. 解决“The type initializer for‘Oracle.DataAccess.Client.OracleConnection‘ threw an exception ”异常
  3. 鸟哥的Linux私房菜(服务器)- 簡易 APT/YUM 伺服器設定
  4. 【ArcGIS遇上Python】使用add-in向导开发ArcGIS插件(1):add-in工具介绍及安装
  5. HttpClient 4 API –获取状态代码-getStatusLine()。getStatusCode()示例
  6. 链表c语言stl,C++STL之List容器
  7. 侏儒排序算法原理与Python实现
  8. smarty模板基础
  9. Python实现爬取豆瓣电影|python豆瓣全栈爬虫:电影系列全爬虫系统1.0:(信息,短评,影评,海报)|你想爬的都有
  10. [Linux网络编程学习笔记]索引
  11. 2017.11.21 课程随记
  12. html怎么做实心圆,html5如何使用canvas画空心圆与实心圆
  13. 怎么能防止网站被注入eval(base64_decode这种类型的木马?
  14. 自恢复保险丝工作原理
  15. VSCode自定义网络背景皮肤
  16. 稳定状态模型 (三):Volterra 模型
  17. 解决Xcode报错“The certificate used to sign “xxxxxx” has either expired or has been revoked“
  18. 安卓逆向——AS开发Xposed插件demo案例
  19. xxxx不必xx尽,留些xxxx
  20. 游戏开发之棋牌游戏的未来

热门文章

  1. python函数参数顺序_对Python中函数参数类型及排序问题,三个方面的总结
  2. 表单html遇到的问题及处理,HTML表单常见问题
  3. java 输入一个数四舍五入_Java程序将数字四舍五入到n个小数位
  4. 微光app电脑版_有哪些适合学生使用的 App?②
  5. 计算机应用基础253页答案,计算机应用基础作业一(答案)
  6. 用户计算机证书在哪里找,用户、计算机或服务的“证书”管理单元 怎么进?...
  7. MySQL索引设计与EXPLAIN
  8. Tunnel Warfare HDU 1540 区间合并+最大最小值
  9. ajaxSubmit 提交form 表单
  10. Wannafly挑战赛28A(模拟,题意文字游戏)