忙忙碌碌了一个星期,我的课设终于要落下帷幕了。开心!!!

这次课题的主要内容是:用JAVA设计和实现一个管理系统,主要包括信息的录入、浏览、增删改查几项功能,并且要储存数据信息。

我在一个包里写了两个类和txt文本:

第一个类定义校园卡并构造基本信息函数

第二个类是主界面,用于写操作的具体方法,

第三个txt文本里面存储了实时更新的数据

第一个类如下

package keshetwo;//定义校园卡的类和构造基本信息的函数
import java.util.Scanner;import java.util.ArrayList;     //集合public class Card {private String name;     //姓名private String no;        //学号     将变量私有化private String sex;       //性别private String yard;       //学院//set和get方法 对私有变量进行设置和获取public String getName() {return name;}public void setName(String name) {        //set和get方法 对私有变量进行设置和获取this.name=name;}public String getNo() {return no;}public void setNo(String no) {this.no=no;}public String getSex() {return sex;}public void setSex(String sex) {this.sex=sex;}public String getYard() {return yard;}public void setYard(String yard) {this.yard=yard;}public Card(String name,String no,String sex,String yard) {//将变量赋值给成员变量this.name=name;this.no=no;this.sex=sex;this.yard=yard;}public Card() {// TODO Auto-generated constructor stub}public void Card() {// TODO Auto-generated constructor stub}}

摘要:第一个类主要用了访问权限和set、get方法等

四种访问权限分别是(级别由高到低):private、default、protected、public

private:私有访问权限,修饰的成员只能在本类中访问

default:默认访问权限,本包中的类均可访问

protected:受保护的访问权限,可以被本包和不同包的子类访问

public:公共访问权限,可以在所有类中被访问,无论是否在同一个包中

set、get方法是对私有变量进行设置和获取

package keshetwo;
import java.util.ArrayList;
import java.util.List;
import java.io.*;
import java.util.Scanner;public class xiaoyuanka {public static void main(String[] args) throws IOException{String fileName="E:\\JAVA\\JAVA22\\src\\keshetwo\\Student.txt";Scanner sc=new Scanner(System.in);ArrayList<Card> array = new ArrayList<Card>();//集合Card c1=new Card("茵茵","01","女","计算机");Card c2=new Card("爱你","02","女","经管");Card c3=new Card("西瓜太郎","03","男","电气");array.add(c1);  array.add(c2);  array.add(c3);//把集合装进文件writeData(fileName,array);while (true) {//用输出语句完成主界面的编写System.out.println("--------欢迎来到洛阳理工学院学生管理系统--------");System.out.println("1 添加学生信息");System.out.println("2 删除学生信息");System.out.println("3 修改学生信息");System.out.println("4 查询学生信息");System.out.println("请输入您的选择:");int i=sc.nextInt();switch(i) {case 1:    add(fileName); // 增    break;    case 2:     remove(fileName); // 删    break;    case 3:     gai(fileName); // 改  break;    case 4:    chaxun(fileName); // 查    break;    }}}
public static void add(String fileName) throws IOException {ArrayList<Card> array = new ArrayList<Card>();//集合Scanner sc=new Scanner(System.in);String No;System.out.println("请输入学生学号:");No = sc.nextLine(); // 输入学号No nextLine返回string类型// 定义标记,判断学生学号是否被占用boolean flag = true;for (int a = 0; a < array.size(); a++) {// 遍历学生信息返回给学生对象Card c = array.get(a);// 获取该学生的学号,和键盘录入的学号进行比较if ( c.getNo().equals(No)) {flag = false;// 说明学号被占用System.out.println("该学生已存在,请重新输入!");break;}}if(flag) {System.out.println("----增加-----");System.out.println("姓名");String Name=sc.nextLine();System.out.println("学号");String no=sc.nextLine();System.out.println("性别");String Sex=sc.nextLine();System.out.println("学院");String Yard=sc.nextLine();Card c=new Card();c.setName(Name);c.setNo(No);c.setSex(Sex);c.setYard(Yard);array.add(c);writeData(fileName,array);System.out.println("添加成功");}}

这个是增加信息的,下面的删除修改查询和这个差不多,方法相同,就不一一展示了。

然后就是读写文件了,这个用了我好长时间才搞懂,想整明白这IO流那好好看看吧

     //从文件中读取数据到集合public static void readData(String fileName,ArrayList<Card> array) throws IOException {// 利用处理流提高性能BufferedReader br = new BufferedReader(new FileReader(fileName));String end;while((end=br.readLine())!=null){// 获取本行数据,文本文件用空格分隔数据,将数据保存在数组当中String[] strArray = end.split(",");Card s =new Card();s.setNo(strArray[0]);s.setName(strArray[1]);s.setSex(strArray[2]);s.setYard(strArray[3]);array.add(s);         }br.close();}//把集合中数据写入文件public static  void writeData(String fileName,ArrayList<Card> array) throws IOException {//使用缓冲字符流写入。BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));   //遍历数组for(int x=0;x<array.size();x++){//使用StringBuilder提高效率StringBuilder sb = new StringBuilder();//获取并保存数据Card s = array.get(x);sb.append(s.getNo()).append(",").append(s.getName()).append(",").append(s.getSex()).append(",").append(s.getYard());//写入bw.write(sb.toString());//换行bw.newLine();//强制刷新bw.flush();}bw.close();}}

好啦,代码展示部分到这就结束了。

其余知识点以及各个步骤的想法注释写的很详细了(也可能是自认为的)。

Java之校园卡管理系统相关推荐

  1. (附源码)计算机毕业设计SSM基于的校园卡管理系统

    (附源码)计算机毕业设计SSM基于的校园卡管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Int ...

  2. [附源码]Python计算机毕业设计SSM基于的校园卡管理系统(程序+LW)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  3. 基于java(springboot)校园新闻管理系统源码(java毕业设计)

    基于java(springboot)校园新闻管理系统 校园新闻管理系统是基于java编程语言,MySQL数据库,和springboot框架,用idea开发工具开发的设计,本设计分为学生用户,管理员两个 ...

  4. [附源码]JAVA毕业设计校园快递管理系统(系统+LW)

    [附源码]JAVA毕业设计校园快递管理系统(系统+LW) 项目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...

  5. 校园卡管理系统数据库服务器,校园卡管理系统数据库设计 - read.ppt

    校园卡管理系统数据库设计 - read.ppt * * * * 校园卡管理系统数据库设计 2007级电子商务071班 李国鹏 2009-7-5 * Outline 一.系统总体概况 二.主要的存储过程 ...

  6. (Java+Mysql)实现简单的校园卡管理系统

    前段时间用了个两个晚上套个模板做了这么个简单小系统,实现了增删改查,用jdbc链接的mysql,初学java要是做大作业可以拿去直接用,页面很简陋~~ (java没怎么深入学,水平很捞,有关的问题别c ...

  7. [附源码]java毕业设计校园快递管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  8. 基于java的校园网站管理系统

    技术:Java.JSP等 摘要: 随着计算机网络的发展,互联网风暴席卷全球,越来越多的领域都离不开网络的支持.作为培养跨时代人才的基地的学校当然也必须将信息技术与教育结合起来,建立一个展示校园文采的校 ...

  9. 校园卡管理系统实验报告c语言,基于C++的校园一卡通管理系统

    一.需求分析 随着学校管理现代化方向意识的不断增强,基于卡片应用的计算机管理系统已日益普及,学生持有传统的多种卡片和不同证件已司空见惯.然而,随着各种卡证的管理功能不断发展,由于传统卡功能的局限,常常 ...

  10. 基于java的校园宿舍管理系统的设计与实现

    目录 摘要 I Abstract II 1绪论 3 1.1研究背景 3 1.2研究目的及意义 3 1.3研究现状 3 2开发工具介绍及其技术 4 2.1Jsp 技术和 Java 技术 4 2.2Spr ...

最新文章

  1. tensorflow tuner 调参,示例代码(jupyter notebook 版)
  2. 解决cvc-complex-type.2.4.a: Invalid content was found starting with element
  3. HAproxy Json日志格式配置
  4. java 静态与非静态之间的访问规则简述
  5. 关于PHP的错误机制总结
  6. Java中的ASCII码与Unicode码
  7. 【飞控理论】从零开始学习Kalman Filters之三:非线性状态估算器
  8. html xpath java_Java根据XPath提取HTML
  9. 设置不定宽高的元素垂直水平居中
  10. Vue.js中,如何自己维护路由跳转记录?
  11. vue入门学习篇——父子组件通信
  12. Log4Net 之走进Log4Net (四)
  13. Javascript之基本包装类型
  14. 车载多传感器融合定位方案:GPS +IMU+MM
  15. 2021爱分析・区域性银行数字化实践报告
  16. 奇虎360 2017校招笔试题
  17. C/C++程序设计与算法第十一周:零点定理求方程的根
  18. 纯java写2D格斗游戏(一)——界面背景设置及人物的简单设置
  19. kafka auto.offset.reset latest earliest 详解
  20. 解决jQuery(e).addclass(‘xxx‘)始终不生效的问题 - $(...).addclass is not a function

热门文章

  1. oracle安装包安装教程,oracle安装教程【搞定方案】
  2. struts(二)——struts框架实现的基本原理
  3. Altium Designer元件库下载
  4. dsp28335时钟 总结
  5. 历年软考网络工程师考试真题及答案
  6. 截图工具当前未在计算机上运行 请重启_截图并订在屏幕上 用作对比、对照、参考,非常实用...
  7. IPMP、PMP、ACP、PRINCE2的区别
  8. 见证云原生创变 2019云原生技术实践峰会落幕
  9. Shader Graph 护盾
  10. 软件构造 git 图形界面看Object Graph