`
Etwo
  • 浏览: 103293 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JAVA 成绩管理系统 有API

阅读更多

闲着无聊写着玩的,个人认为对于初学java的有所帮助吧


实体类

package net.etwo.cec.bean;

import java.io.Serializable;

public class StudentGradeInfo implements Serializable {

	private static final long serialVersionUID = -2332015918025542961L;
	private String sname;
	private String sno;
	private String chineseScore;
	private String mathScore;
	private String englishScore;

	public String getSname() {
		return sname;
	}

	public void setSname(String sname) {
		this.sname = sname;
	}

	public String getSno() {
		return sno;
	}

	public void setSno(String sno) {
		this.sno = sno;
	}

	public String getChineseScore() {
		return chineseScore;
	}

	public void setChineseScore(String chineseScore) {
		this.chineseScore = chineseScore;
	}

	public String getMathScore() {
		return mathScore;
	}

	public void setMathScore(String mathScore) {
		this.mathScore = mathScore;
	}

	public String getEnglishScore() {
		return englishScore;
	}

	public void setEnglishScore(String englishScore) {
		this.englishScore = englishScore;
	}

}

 

package net.etwo.cec.main;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

import net.etwo.cec.bean.StudentGradeInfo;

public class StudentGradeManage {

	/**
	 * 成绩管理系统,控制台输出
	 * @author etwo
	 * @param args
	 */

	private static String strFileName = "student.dat";
	private static Map<String, StudentGradeInfo> sgiMap;

	// private static StudentGradeInfo students = new StudentGradeInfo();

	public static void main(String[] args) {

		loadStudentGradeInfoFile();
		selectMainMenu();
	}

	/**
	 * 主菜单显示
	 */
	public static void selectMainMenu() {
		System.out.println("*********************成绩管理系统**********************");
		System.out
				.println("*******************************************************");
		System.out.println("1、信息维护\t2、信息查询\t3、成绩统计\t4、排序\t5、退出");
		System.out
				.println("*******************************************************");
		System.out.print("请从以上菜单中选择相应序号操作:");
		int s = 0;
		try {
			s = mainMenu();
			selectContainer(s);
		} catch (Exception e) {
			System.out.println("警告!您选择了特殊字符,为保证系统有效允许,请输入有效数字!");
			selectContainer(s);
		}
	}

	/**
	 * 主菜单显示@主菜单选择器
	 * 
	 * @param s
	 */
	public static void selectContainer(int s) {
		if (s == 1) {
			infoManage();
		} else if (s == 2) {
			infoSearch();
		} else if (s == 3) {
			infoCount();
		} else if (s == 4) {
			infoOrder();
		} else if (s == 5) {
			exitSystem();
		} else {
			selectMainMenu();
		}
	}

	/**
	 * 主菜单显示@主菜单选择逻辑
	 * 
	 * @return
	 * @throws Exception
	 */
	public static int mainMenu() throws Exception {
		Scanner sc = new Scanner(System.in);
		while (true) {
			int s = sc.nextInt();
			if (s == 1) {
				return 1;
			} else if (s == 2) {
				return 2;
			} else if (s == 3) {
				return 3;
			} else if (s == 4) {
				return 4;
			} else if (s == 5) {
				return 5;
			} else {
				System.out.print("提示!选择有误,请重新选择:");
			}
		}
	}

	/**
	 * 信息维护
	 */
	public static void infoManage() {
		System.out.println("\t**************************");
		System.out.println("\t\t1、信息维护");
		System.out.println("\t**************************");
		System.out.println("1、增加学生信息\t2、删除学生信息\t3、修改学生信息\t4、返回主菜单\t5、退出");
		Scanner sc = new Scanner(System.in);
		System.out.print("请选择:");
		// s = sc.nextInt();
		String s = sc.next();
		if (s.equals("1")) {
			System.out.println("1、增加学生信息");
			addStudentGradeInfo();
		} else if (s.equals("2")) {
			System.out.println("2、删除学生信息");
			deleteStudentGradeInfo();
		} else if (s.equals("3")) {
			System.out.println("3、修改学生信息");
			modifyStudentGradeInfo();
		} else if (s.equals("4")) {
			selectMainMenu();
		} else if (s.equals("5")) {
			exitSystem();
		} else {
			System.out.println("输入有误,请输入以上数字!");
			infoManage();
		}
	}

	/**
	 * 信息查询
	 */
	public static void infoSearch() {
		System.out.println("\t**************************");
		System.out.println("\t\t2、信息查询");
		System.out.println("\t**************************");
		System.out.println("1、查询所有\t2、按姓名查询\t3、按学号查询\t4、返回主菜单\t5、退出");
		System.out.print("请选择:");
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		if (s.equals("1")) {
			searchAsAll();
		} else if (s.equals("2")) {
			searchAsSname();
		} else if (s.equals("3")) {
			searchAsSno();
		} else if (s.equals("4")) {
			selectMainMenu();
		} else if (s.equals("5")) {
			exitSystem();
		} else {
			System.out.println("选择有误,请重新选择!");
			infoSearch();
		}
	}

	/**
	 * 所有查询
	 */
	public static void searchAsAll() {
		System.out.println("***************所有学生信息***************");
		System.out.println("姓名\t学号\t语文\t数学\t英语");
		StudentGradeInfo studentsInfo;
		for (Iterator<StudentGradeInfo> iter = sgiMap.values().iterator(); iter
				.hasNext();) {
			studentsInfo = iter.next();
			showSearchResult(studentsInfo);
		}
		infoSearch();
	}

	/**
	 * 信息查询@按姓名查询
	 */
	public static void searchAsSname() {
		System.out.print("请输入要查询学生姓名:");
		Scanner sc = new Scanner(System.in);
		String sname = sc.nextLine();
		System.out.println("***************查询结果***************");
		System.out.println("姓名\t学号\t语文\t数学\t英语");
		for (Iterator<StudentGradeInfo> iter = sgiMap.values().iterator(); iter
				.hasNext();) {
			StudentGradeInfo studentsInfo = (StudentGradeInfo) iter.next();
			if (sname.equals(studentsInfo.getSname())) {
				// System.out.println("您要查找的学生姓名为:" + sname);
				showSearchResult(studentsInfo);
			}
		}
		infoSearch();
	}

	/**
	 * 查询显示界面
	 * 
	 * @param studentsInfo
	 */
	public static void showSearchResult(StudentGradeInfo studentsInfo) {
		String sname = studentsInfo.getSname();
		String sno = studentsInfo.getSno();
		String chineseScore = studentsInfo.getChineseScore();
		String mathScore = studentsInfo.getMathScore();
		String englishScore = studentsInfo.getEnglishScore();
		System.out.println(sname + "\t" + sno + "\t" + chineseScore + "\t"
				+ mathScore + "\t" + englishScore);
	}

	/**
	 * 信息查询@按学号查询
	 */
	public static void searchAsSno() {
		System.out.print("输入要查询学生的学号:");
		Scanner sc = new Scanner(System.in);
		String sno = sc.nextLine();
		System.out.println("***************查询结果***************");
		System.out.println("姓名\t学号\t语文\t数学\t英语");
		if (sgiMap.containsKey(sno)) {
			StudentGradeInfo studentsInfo = sgiMap.get(sno);
			showSearchResult(studentsInfo);
		} else {
			System.out.println("没有你要查找的... ...");
		}
		infoSearch();
	}

	/**
	 * 成绩统计菜单显示
	 */
	public static void infoCount() {
		System.out.println("\t**************************");
		System.out.println("\t\t3、成绩统计");
		System.out.println("\t**************************");
		System.out.println("1、是否进入成绩统计\t2、返回主菜单\t3、退出");
		Scanner sc = new Scanner(System.in);
		System.out.print("请选择:");
		String s = sc.next();
		if (s.equals("1")) {
			statisticsScore();
		} else if (s.equals("2")) {
			selectMainMenu();
		} else if (s.equals("3")) {
			exitSystem();
		} else {
			System.out.println("选择有误,请重新选择!");
			infoCount();
		}
	}

	/**
	 * 成绩统计
	 */
	public static void statisticsScore() {
		System.out.print("请输入课程名:");
		Scanner sc = new Scanner(System.in);
		String course = sc.nextLine();
		if (!course.equals("语文") && !course.equals("数学")
				&& !course.equals("英语")) {
			System.out.println("请输入正确的课程名!");
			infoCount();
		} else {
			System.out.print("请输入起始分数:");
			String beginScore = sc.nextLine();
			System.out.print("请输入结束分数:");
			String endScore = sc.nextLine();
			if (isNumberScore(beginScore) == false
					|| isNumberScore(endScore) == false) {
				System.out.println("请输入正确的分数段!");
			} else {
				System.out.println("***************统计结果***************");
				System.out.println("姓名\t学号\t语文\t数学\t英语");
				for (Iterator<StudentGradeInfo> iter = sgiMap.values()
						.iterator(); iter.hasNext();) {
					StudentGradeInfo studentsInfo = iter.next();
					double dScore = formatScore(course, studentsInfo);
					limitScore(dScore, beginScore, endScore, studentsInfo);
				}
			}
			infoCount();
		}
	}

	/**
	 * 格式化成绩
	 * 
	 * @param course
	 * @param studentsInfo
	 * @return
	 */
	public static double formatScore(String course,
			StudentGradeInfo studentsInfo) {
		if (course.equals("语文")) {
			String chineseScore = studentsInfo.getChineseScore();
			Double dChineseScore = Double.parseDouble(chineseScore);
			return dChineseScore;
		} else if (course.equals("数学")) {
			String mathScore = studentsInfo.getMathScore();
			Double dMathScore = Double.parseDouble(mathScore);
			return dMathScore;
		} else if (course.equals("英语")) {
			String englishScore = studentsInfo.getEnglishScore();
			Double dEnglishScore = Double.parseDouble(englishScore);
			return dEnglishScore;
		} else {
			return 0.0;
		}
	}

	/**
	 * 判断成绩的范围
	 * 
	 * @param dScore
	 * @param beginScore
	 * @param endScore
	 * @param studentsInfo
	 */
	public static void limitScore(double dScore, String beginScore,
			String endScore, StudentGradeInfo studentsInfo) {
		Double dBeginScore = Double.parseDouble(beginScore);
		Double dEndScore = Double.parseDouble(endScore);
		if (dScore >= dBeginScore && dScore <= dEndScore) {
			showSearchResult(studentsInfo);
		}
	}

	/**
	 * 排序,能对用户指定的任意课程名,按成绩升序或降序排列学生数据,并显示排列结果
	 */
	public static void infoOrder() {
		System.out.println("\t**************************");
		System.out.println("\t\t4、排序");
		System.out.println("\t**************************");
		System.out.println("1、是否进入排序程序\t2、返回主菜单\t3、退出");
		Scanner sc = new Scanner(System.in);
		System.out.print("请选择:");
		String s = sc.next();
		if (s.equals("1")) {
			sortOrder();
		} else if (s.equals("2")) {
			selectMainMenu();
		} else if (s.equals("3")) {
			exitSystem();
		} else {
			System.out.println("选择有误,请重新选择!");
			infoOrder();
		}
	}

	/**
	 * 排序程序
	 */
	public static void sortOrder() {
		System.out.print("请输入需要排序的课程名:");
		Scanner sc = new Scanner(System.in);
		String course = sc.nextLine();
		if (!course.equals("语文") && !course.equals("数学")
				&& !course.equals("英语")) {
			System.out.println("请输入正确的课程名!");
			infoOrder();
		}
		System.out.println("\t排序方式");
		System.out.println("1、升序\t2、降序");
		System.out.print("请选择:");
		String s = sc.next();
		if (!s.equals("1") && !s.equals("2")) {
			System.out.println("警告!请选择正确的排序方式!");
			sortOrder();
		} else {
			System.out.println("***************排序结果***************");
			System.out.println("姓名\t学号\t语文\t数学\t英语");
			// ArrayList<StudentGradeInfo> arrayListStudentsInfo = new
			// ArrayList<StudentGradeInfo>();
			List<Double> listStudentInfo = new ArrayList<Double>();
			ergodicOrder(course, listStudentInfo);
			if (s.equals("1")) {
				ascOrder(listStudentInfo);
				printOrder(course, listStudentInfo);
				infoOrder();
			} else if (s.equals("2")) {
				descOrder(listStudentInfo);
				printOrder(course, listStudentInfo);
				infoOrder();
			}
		}
	}

	/**
	 * 排序程序@遍历出排序后的List,然后将排序后的结构利用Map接收,再逐一打印出来
	 * 
	 * @param course
	 * @param listStudentInfo
	 */
	public static void printOrder(String course, List<Double> listStudentInfo) {
		// 判断dScore是不是第二次及以上次出现
		double d = 0.0;
		for (int i = 0; i < listStudentInfo.size(); i++) {
			double dListScore = listStudentInfo.get(i);
			for (Iterator<StudentGradeInfo> iter = sgiMap.values().iterator(); iter
					.hasNext();) {
				StudentGradeInfo studentsInfo = iter.next();
				double dScore = formatScore(course, studentsInfo);
				if (dListScore == dScore && d != dScore) {
					d = dScore;
					showSearchResult(studentsInfo);
				}
			}
		}

	}

	/**
	 * 排序程序@遍历出各科成绩,然后将遍历出的成绩加到List上
	 * 
	 * @param course
	 * @param listStudentInfo
	 */
	public static void ergodicOrder(String course, List<Double> listStudentInfo) {
		for (Iterator<StudentGradeInfo> iter = sgiMap.values().iterator(); iter
				.hasNext();) {
			StudentGradeInfo studentsInfo = iter.next();
			double dScore = formatScore(course, studentsInfo);
			listStudentInfo.add(dScore);
		}
	}

	/**
	 * 排序程序@升序排列
	 */
	public static void ascOrder(List<Double> listStudentInfo) {
		Collections.sort(listStudentInfo);
	}

	/**
	 * 排序程序@降序排列
	 */
	public static void descOrder(List<Double> listStudentInfo) {
		DescComparator descCom = new StudentGradeManage().new DescComparator();
		Collections.sort(listStudentInfo, descCom);
	}

	/**
	 * 内部类,用于降序排序
	 * 
	 * @author 许波
	 * 
	 */
	public class DescComparator implements Comparator<Double> {
		@Override
		public int compare(Double o1, Double o2) {
			// TODO Auto-generated method stub
			double d1 = o1;
			double d2 = o2;
			if (d1 < d2) {
				return 1;
			} else {
				return 0;
			}
		}
	}

	/**
	 * 判断成绩分数是否是在0~100之间
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNumberScore(String str) {
		try {
			Double d = Double.parseDouble(str);
			if (d < 0 || d > 100) {
				return false;
			}
		} catch (NumberFormatException e) {
			return false;
		} catch (Exception e) {
			return false;
		}
		return true;
	}

	/**
	 * 判断学号是否是在1~200以内的有效数字
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNumberSno(String str) {
		try {
			Integer i = Integer.parseInt(str);
			if (i <= 0 || i > 200) {
				return false;
			}
		} catch (NumberFormatException e) {
			return false;
		} catch (Exception e) {
			return false;
		}
		return true;
	}

	/**
	 * 增加学生信息
	 */
	public static void addStudentGradeInfo() {
		Scanner scStudentsInfo = new Scanner(System.in);
		System.out.print("请输入学生姓名:");
		String sname = scStudentsInfo.nextLine();
		System.out.print("请输入学生学号:");
		String sno = scStudentsInfo.nextLine();
		if (isNumberSno(sno) == false) {
			System.out.println("学号输入有误,请输入1~200之间的任意数字");
			addStudentGradeInfo();
		} else {
			System.out.print("请输入该学生语文成绩:");
			String chineseScore = scStudentsInfo.nextLine();
			System.out.print("请输入该学生数学成绩:");
			String mathScore = scStudentsInfo.nextLine();
			System.out.print("请输入该学生英语成绩:");
			String englishScore = scStudentsInfo.nextLine();
			if (isNumberScore(chineseScore) == false
					|| isNumberScore(mathScore) == false
					|| isNumberScore(englishScore) == false) {
				System.out.println("提示!成绩只能是0~100之间的任意数字,请重修输入");
				addStudentGradeInfo();
			} else {
				StudentGradeInfo students = new StudentGradeInfo();
				students.setSname(sname);
				students.setSno(sno);
				students.setChineseScore(chineseScore);
				students.setMathScore(mathScore);
				students.setEnglishScore(englishScore);
				// 判断是否存在此学号的学生,如果存在,就不允许增加新的学生;反之则允许增加
				if (sgiMap.containsKey(sno)) {
					System.out.println("提示!已经有学生占用了该学号!");
				} else {
					// 写入文件并放入Map中
					sgiMap.put(sno, students);
					writeStudentGradeInfo();
					System.out.println("增加学生成绩信息成功!");
				}
				infoManage();
			}
		}
	}

	/**
	 * 写入文件
	 */
	public static void writeStudentGradeInfo() {
		FileOutputStream fos = null;
		ObjectOutputStream oos = null;
		try {
			fos = new FileOutputStream(strFileName);
			oos = new ObjectOutputStream(fos);
			oos.writeObject(sgiMap);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (oos != null) {
					oos.close();
				}
				if (fos != null) {
					fos.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	/**
	 * 删除学生信息
	 */
	public static void deleteStudentGradeInfo() {
		System.out.print("请输入学生学号:");
		Scanner sc = new Scanner(System.in);
		String sno = sc.nextLine();
		if (sgiMap.containsKey(sno)) {
			sgiMap.remove(sno);
			// 移除学生过后,重新写入文件
			writeStudentGradeInfo();
			System.out.println("删除成功!");
			infoManage();
		} else {
			System.out.println("该学生不存在或输入有误,请重新输入!");
			deleteStudentGradeInfo();
		}
	}

	/**
	 * 修改学生信息
	 */
	public static void modifyStudentGradeInfo() {
		System.out.print("请输入要修改的学生学号:");
		Scanner sc = new Scanner(System.in);
		String sno = sc.nextLine();
		if (sgiMap.containsKey(sno)) {
			sgiMap.remove(sno);
			System.out.println("*******请输入要修改的相关信息*********");
			System.out.print("学生姓名:");
			String sname = sc.nextLine();
			System.out.print("语文成绩:");
			String chineseScore = sc.nextLine();
			System.out.print("数学成绩:");
			String mathScore = sc.nextLine();
			System.out.print("英语成绩:");
			String englishScore = sc.nextLine();
			if (isNumberScore(chineseScore) == false
					|| isNumberScore(mathScore) == false
					|| isNumberScore(englishScore) == false) {
				System.out.println("提示!成绩只能是0~100之间的任意数字,请重修输入");
				modifyStudentGradeInfo();
			} else {
				StudentGradeInfo students = new StudentGradeInfo();
				students.setSname(sname);
				students.setSno(sno);
				students.setChineseScore(chineseScore);
				students.setMathScore(mathScore);
				students.setEnglishScore(englishScore);
				sgiMap.put(sno, students);
				writeStudentGradeInfo();
				System.out.println("修改成功!");
				infoManage();
			}
		} else {
			System.out.println("没有该学生或者输入有误,请正确输入!");
			modifyStudentGradeInfo();
		}
	}

	/**
	 * 加载文件信息
	 */
	public static void loadStudentGradeInfoFile() {
		File file = new File(strFileName);
		// 读取文件
		ObjectInputStream ois = null;
		FileInputStream fis;
		try {
			if (file.exists()) {
				fis = new FileInputStream(file);
				ois = new ObjectInputStream(fis);
				sgiMap = (HashMap<String, StudentGradeInfo>) ois.readObject();
			} else {
				sgiMap = new HashMap<String, StudentGradeInfo>();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 退出
	 */
	public static void exitSystem() {
		System.out.println();
		System.out.println("正在退出... ...");
		System.out.println("**********************");
		System.out.println("********退出**********");
		System.out.println("1、是\t2、否");
		Scanner sc = new Scanner(System.in);
		System.out.print("您确认退出:");
		String s = sc.next();
		if (s.equals("1")) {
			System.out.println("你已成功退出该系统!");
			System.exit(0);
		} else if (s.equals("2")) {
			selectMainMenu();
		} else {
			System.out.println("错误!请从以上选项中选择");
			exitSystem();
		}
	}
}
 
分享到:
评论
2 楼 qifan.yang 2012-11-11  
C语言写这个还不错,用java写这个感觉怪怪的哦
1 楼 zhb31415926 2012-11-11  
看你的水平也就是个初学者

相关推荐

    java实现学生成绩管理系统(含数据库以及实验报告)

    学生成绩管理系统主要实现了 1、 登录验证账号信息 2、 学生注册、教师注册 3、 添加学生成绩信息 4、 修改学生成绩信息 5、 查询学生成绩信息 6、 删除学生成绩信息 7、 文件导入学生成绩信息 8、 学生账号管理 9、...

    学生成绩管理系统代码

    用JAVA类描述学生信息,实行学生成绩管理,最大可保存20个学生的得信息,StudentArrayList

    Java毕业设计-基于springboot开发的学生成绩管理系统--论文-附毕设源代码+说明文档.rar

    “Java毕业设计-基于springboot开发的学生成绩管理系统”是一个综合性的学生成绩管理解决方案,它结合了Java编程语言的稳定性与Spring Boot框架的便捷性,为学生成绩管理提供了高效、安全的平台。该系统不仅具备基本...

    Java基于SSM教务选课成绩管理系统设计毕业源码案例设计.zip

    项目源代码:涵盖了多个Java毕业设计项目的完整代码,包括登录注册、用户管理、数据增删改查等功能模块的实现。这些代码均经过严格测试,可直接运行,方便您快速了解项目结构和实现细节。 MD文档:详细介绍了每个...

    基于SpringBoot+Vue的学生综合成绩管理系统(源码+部署说明+系统介绍+源码解释).zip

    总之,本资源适合对SpringBoot、Vue、学生综合成绩管理系统开发有一定基础的开发者学习和参考。该系统的设计思路、技术实现和业务逻辑等方面都具有高参考价值,为开发者提供了实践和实现学生综合成绩管理服务的宝贵...

    基于Java班级管理系统(系统+使用说明+源码)

    班级管理系统是一个帮助教师和学校管理人员管理学生信息、成绩、考勤、课程表和其他班级相关事务的软件。该系统旨在简化教师和管理人员的工作流程,提高班级管理的效率。 功能模块 学生信息管理:添加、删除、修改...

    springboot学生成绩管理系统.zip

    SpringBoot学生成绩管理系统是一款专为教育机构设计的应用程序,旨在简化和自动化学生成绩的记录、管理和分析过程。通过使用SpringBoot框架,该系统能够快速部署并轻松扩展,同时确保高性能和高可靠性。 系统可能...

    学生成绩管理系统 源码

    详细介绍了jdbc的常用api以及数据库中的表的级联。 开发调试平台为jbuilder9+tomcat4,在resin和weblogic下测试通过。 数据库平台为ms sql server2000 数据库连接池为apache组织下jakarta项目组开发的commons-dbcp ...

    基于SSM+Vue的体育竞赛成绩管理系统(源码+部署说明+系统介绍).zip

    基于SSM(Spring+SpringMVC+Mybatis)和Vue.js开发的体育竞赛成绩管理系统是一个高效、安全、可靠、易用的竞赛成绩管理平台,主要面向学校、俱乐部等机构,包括成绩录入、成绩查询、竞赛管理等。 系统采用前后端分离...

    java大型在线考试培训系统

    下载地址在附件 试题模块(章节结构) 无限自定义层次结构 模块内管理试题 模块试题信息统计 批量移动试题 试题/题型 单选、多选、填空、判断、问答、文件、综合7大类...内置文件管理系统 第三方用户/管理员集成API

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    基于java swing和mysql的学生管理系统

    在该课程管理系统中,MySQL被用作数据存储和管理的后端,用于存储学生信息、课程信息和成绩数据等。 JDBC(Java Database Connectivity):JDBC是Java提供的用于数据库访问的API,通过JDBC可以与各种数据库进行连接...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    学生成绩信息管理系统论文 JSP 完整版

    开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。本论文叙述了现在高校学生成绩管理的现状以及JAVA...

    Java Springboot Vue 学生选课管理系统.zip

    这个学生选课管理系统是一个使用Java的Spring Boot框架和Vue框架开发的应用程序,旨在提供高效、可靠的学生选课服务。系统涵盖了学生管理、课程管理、选课管理等核心功能,以帮助学校或教育机构更好地组织和管理学生...

    Java开发技术大全(500个源代码).

    mutexThread.java 一个能管理临界区的线程类 demoMutex.java 使用上面这个类来演示线程的互斥 commSource.java 一个共享资源的类 demoSynchrony.java 演示线程的同步 setDataThread.java 设置数据的线程类 ...

    java JDBC 学生系统

    里面用的东西比较多,自己觉得对初学者比较有创新,例如包含JPANEL加背景图片,一个系统只用了一个jframe,还有一些很小常用但是有点难的知识点。里面还有简单的用例图。分数比较多,是因为我分数比较少,希望分多的...

    Java开发的教学管理平台.zip

    成绩管理:查看成绩、成绩批改、导出等功能 知识库:知识库增删改查、上传附件 附件管理:项目的所有附件存储在fastDfs里,提供统一的管理入口 附件列表:管理所有附件,如用户头像、考试附件、知识库附件等。 个人...

    JAVA毕业设计之基于springboot的实习管理系统(springboot+mysql)完整源码.zip

    基于Spring Boot的实习管理系统是一个使用Java语言开发的、面向大学生实习管理的Web应用程序。该系统采用了当前流行的微服务框架Spring Boot和数据库MySQL,为学校、企业以及学生提供了一个高效、便捷的实习管理平台...

    基于java的统计学生成绩c语言

    Java web 技术的基础就是核心 Java 平台,它有许多优点,例如:“编写一次、随处运行”的特性、方便存取数据库的 JDBC API 技术以及能够在 Internet 应用中保护数据的安全模式等等。J2EE 体系结构提供中间层集成...

Global site tag (gtag.js) - Google Analytics