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

利用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;
		
	}
	@Override
	public 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();

	}

}

控制台演示如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值