ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

课程表管理系统

2020-03-28 16:57:13  阅读:705  来源: 互联网

标签:String 管理系统 System 课程表 new Lesson public name


课程表管理系统

采用Service-Dao来开发

  • 包结构图

  1. domain类包括Lesson

    public class Lesson {
    	private String LensonName;
    	private String LessonLoc;
    	private String LessonTime;
    	public Lesson(){
    		
    	}
    	public Lesson(String LN,String LL,String LT){
    		this.LensonName = LN;
    		this.LessonLoc = LL;
    		this.LessonTime = LT;
    	}
    	public String getLensonName() {
    		return LensonName;
    	}
    	public void setLensonName(String lensonName) {
    		LensonName = lensonName;
    	}
    	public String getLessonLoc() {
    		return LessonLoc;
    	}
    	public void setLessonLoc(String lessonLoc) {
    		LessonLoc = lessonLoc;
    	}
    	public String getLessonTime() {
    		return LessonTime;
    	}
    	public void setLessonTime(String lessonTime) {
    		LessonTime = lessonTime;
    	}
    	@Override
    	public String toString(){
    		return LensonName+","+LessonLoc+","+LessonTime;
    	}
    	
    }
    
  2. service 包括LessonService和LessonServiceImpl

    public interface LessonService {
    	
    	public Lesson findLessonByName(String name);
    	public boolean addLesson(Lesson l);
    	public boolean delLessonByName(String name);
    	public boolean updateLesson(Lesson pre_lesson,Lesson l);
    	public void showAllLesson();
    	public void update();
    }
    
    
    public class LessonServiceImpl implements LessonService{
    	private LessonDao ld;
    	public LessonServiceImpl(){
    		ld = new LessonDaoImpl();
    	}
    	@Override
    	public Lesson findLessonByName(String name) {
    		return ld.findLessonByName(name);
    	}
    
    	@Override
    	public boolean addLesson(Lesson l) {
    
    		return ld.addLesson(l);
    	}
    
    	@Override
    	public boolean delLessonByName(String name) {
    		return ld.delLessonByName(name);
    	}
    
    	@Override
    	public boolean updateLesson(Lesson pre_lesson, Lesson l) {
    		return ld.updateLesson(pre_lesson, l);
    	}
    
    	@Override
    	public void showAllLesson() {
    		ld.showAllLesson();
    	}
    	@Override
    	public void update() {
    		ld.update();
    	}
    
    }
    
  3. Dao层

    public interface LessonDao {
    	public Lesson findLessonByName(String name);
    	public boolean addLesson(Lesson l);
    	public boolean delLessonByName(String name);
    	public boolean updateLesson(Lesson pre_lesson,Lesson l);
    	public void showAllLesson();
    	public void update();
    }
    
    public class LessonDaoImpl implements LessonDao {
    	private List<Lesson> ls;
    	private File file;
    	public LessonDaoImpl(){
    		ls = new ArrayList<Lesson>();
    		file = new File("lesson.txt");
    		init();
    		
    	}
    	
    	private void init() {
    		try{
    			BufferedReader br = new BufferedReader(new FileReader(file));
    			String tmp;
    			while((tmp = br.readLine())!=null){
    				String[] s = tmp.split(",");
    				ls.add(new Lesson(s[0], s[1], s[2]));
    			}
    			br.close();
    			
    		}catch(Exception r){
    			r.printStackTrace();
    		}
    	}
    
    	@Override
    	public Lesson findLessonByName(String name) {
    		for(Lesson lesson: ls){
    			if(lesson.getLensonName().equals(name))
    				return lesson;
    		}
    		System.out.println("该节课不存在!");
    		return null;
    	}
    
    	@Override
    	public boolean addLesson(Lesson l) {
    		ls.add(l);
    		System.out.println("添加成功!");
    		try{
    			BufferedWriter bw = new BufferedWriter(new FileWriter(file,true));
    			bw.write(l.toString()+"\n");
    			bw.close();
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		return true;
    	}
    
    	@Override
    	public boolean delLessonByName(String name) {
    		for(int i = 0;i<ls.size();i++){
    			if(ls.get(i).getLensonName().equals(name)){
    				ls.remove(i);
    				System.out.println("已删除!");
    				return true;
    			}
    		}
    		System.out.println("未找到该用户!");
    		return false;
    	}
    
    	@Override
    	public boolean updateLesson(Lesson pre_lesson, Lesson l) {
    		Lesson tmp = findLessonByName(pre_lesson.getLensonName());
    		tmp.setLensonName(l.getLensonName());
    		tmp.setLessonLoc(l.getLessonLoc());
    		tmp.setLessonTime(l.getLessonTime());
    		System.out.println("删除成功!");
    		return true;
    	}
    
    	@Override
    	public void showAllLesson() {
    		FileUtil.ListSort(ls);
    		for(Lesson l:ls){
    			System.out.println(l.toString());
    		}
    	}
    
    	@Override
    	public void update() {
    		try {
    			file.delete();
    			file.createNewFile();
    			BufferedWriter bw = new BufferedWriter(new FileWriter(file,true));
    			for(int i = 0;i<ls.size();i++){
    				bw.write(ls.get(i).toString()+"\n");
    			}
    			bw.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		
    	}
    
    }
    
  4. Fileutil类

    public class FileUtil {
    	public static void ListSort(List<Lesson> list) {
            Collections.sort(list, new Comparator<Lesson>() {
                @Override
                public int compare(Lesson o1, Lesson o2) {
                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                    try {
                        Date dt1 = format.parse(o1.getLessonTime());
                        Date dt2 = format.parse(o2.getLessonTime());
                        if (dt1.getTime() > dt2.getTime()) {
                            return 1;
                        } else if (dt1.getTime() < dt2.getTime()) {
                            return -1;
                        } else {
                            return 0;
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return 0;
                }
            });
        }
    }
    
  5. Test类

    public class MainTest {
    	public static void main(String[] args) {
    		LessonService ls = new LessonServiceImpl();		
    		int op = -1;
    		Scanner s = new Scanner(System.in);
    		while(op!=0){
                System.out.println("课程表系统");
                System.out.println("---------------------------------------");
                System.out.println("1.添加新课程");
                System.out.println("2.显示所有课程");
                System.out.println("3.根据名称删除课程");
                System.out.println("4.更新课程");
                System.out.println("0.结束!");
                System.out.println("---------------------------------------");
                System.out.println("请选择序号:");
                op = s.nextInt();
                
                if(op==1){
                	System.out.println("请输入课程名:");
                	String name = s.next();
                	
                	System.out.println("请输入教室:");
                	String Loc = s.next();
                	
                	System.out.println("请输入时间 yyyy-mm-dd:");
                	String time = s.next();
                	
                	Lesson tmp = new Lesson(name, Loc, time);
                	ls.addLesson(tmp);
                }else if(op == 2){
                	ls.showAllLesson();
                }else if(op == 3){
                	System.out.println("请输入要删除的课程名:");
                	String name = s.next();
                	ls.delLessonByName(name);
                }else if(op == 4){
                	System.out.println("请输入要修改的课程名:");
                	String pre_name = s.next();
                	Lesson pre_lesson = ls.findLessonByName(pre_name);
                	System.out.println("请输入新的名称:");
                	String new_name = s.next();
                	System.out.println("请输入新的地点:");
                	String new_loc = s.next();
                	System.out.println("请输入新的时间:");
                	String new_time = s.next();
                	Lesson new_lesson = new Lesson(new_name, new_loc, new_time);
                	ls.updateLesson(pre_lesson, new_lesson);
                }else if(op == 0){
                	ls.update();
                }
    		}
    		s.close();
    		
    	}
    }
    

标签:String,管理系统,System,课程表,new,Lesson,public,name
来源: https://www.cnblogs.com/lvgj/p/12588088.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有