java学生管理系统代码
//导入的包名
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
//学生管理系统类
public class StudentManager {
public static void main(String[] args) throws IOException {
ArrayList<Student> array = new ArrayList<Student>();//定义一个集合,用于接收学生对象的信息。
Scanner sc = new Scanner(System.in);//定义Scanner对象用于接收指令信息。
System.out.println("----------欢迎来到学生管理系统----------");
//建立循环使程序能够循环进行。
while(true){
显示();//包含指令信息已经对应的操作。
System.out.println("请输入一个数字进行操作:");
int num = sc.nextInt();//根据提示,录入指令。
switch(num){//根据指令,选择需要进行的操作。
case 1:
查看学生(array);//具体如方法名
break;
case 2:
添加学生(array);//具体如方法名
break;
case 3:
修改学生(array);//具体如方法名
break;
case 4:
删除学生(array);//具体如方法名
break;
case 5:
是否保存信息(array);//具体如方法名
System.out.println("系统已退出!");
System.exit(0);//退出系统的代码。
break;
default:
System.out.println("你输入有误请重新输入!");
break;
}
}
}
public static void 是否保存信息(ArrayList<Student> array) throws IOException {//退出系统提示是否保存信息。
Scanner sc = new Scanner(System.in);//定义Scanner对象用于接收指令信息。
System.out.println("是否保留本次操作的结果!(输入1保存,输入2不保存):");
//建立循环使程序在输入有问题的时候能够循环进行。
while(true){
int num =sc.nextInt();//获取指令信息。
if(num==1){//当指令为1时,保存此次操作的结果。
System.out.println("请输入保存数据的文件路径:");//选择一个保存文件的路径。
String f = sc.next();
BufferedWriter bw = new BufferedWriter(new FileWriter(f));//建立对象用于接收数据。
bw.write("学号"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"户籍");//文档抬头。
bw.newLine();//换行
for (int i = 0; i < array.size(); i++) {//建立for循环,将集合中的数据循环录入到文档中。
Student s = array.get(i);//得到集合中i索引的对象。
bw.write(s.get学号()+"\t"+s.get姓名()+"\t"+s.get年龄()+"\t"+s.get户籍());//将集合中i索引的对象的信息数据录入到文档中。
bw.newLine();//换行
}
bw.close();//结束输入。
break;//跳出while循环,从而结束方法。
}else if(num==2){
break;//当不保存操作结果的时候,不用进行任何操作,跳出循环即可。
}else{
System.out.println("你输入有误!请重新输入(输入1保存,输入2不保存):");//输入错误的提示。
}
}
}
public static void 显示() {//包含指令信息已经对应的操作。
System.out.println("1.输入1查看(查看系统中所有的学生信息);");
System.out.println("2.输入2添加(添加学生信息到系统中);");
System.out.println("3.输入3修改(根据学号修改学生信息);");
System.out.println("4.输入4删除(根据学号删除学生信息);");
System.out.println("5.输入5退出。");
}
public static void 删除学生(ArrayList<Student> array) throws IOException {//按照录入与导入的方法修改集合当中学生的信息。
Scanner sc = new Scanner(System.in);//定义Scanner对象用于接收指令信息。
System.out.println("请输入删除的方法(1、导入 2、手动输入):");
while(true){
int num = sc.nextInt();
if(num==2){//手动输入。
System.out.println("请输入学生学号:");
String code = sc.nextLine();//学号。
int index = 判断(array, code);
if(index!=-1){//当索引值为true的时候,即集合中存在输入的学号的时候,根据该对象的索引删除该对象。
array.remove(index);
System.out.println("删除成功!");
}else{
System.out.println("系统中不存在该学号,请重新输入!");//不存在就循环录入。
}
}else if(num==1){//导入。
System.out.println("请输入需要删除数据的文件路径:");//选择一个文件的路径。
String filename = sc.next();
BufferedReader br = new BufferedReader(new FileReader (filename));//建立导入数据的对象
String line="";//定义字符串用于接收整行数据。
int sum = 0 ;//用于接收删除的学生总数。
while((line = br.readLine())!=null){//判断读取的数据是否为空。
String[] s = line.split(" ");//利用空格分割字符串得到Student对象的信息。
//下面的方法同上面手动录入的过程。
int index = 判断(array, s[0]);
if(index!=-1){
array.remove(index);
sum++ ;
}else{
System.out.println("学号'"+s[0]+"不存在");
}
}
br.close();
System.out.println("成功删除了"+sum+"位同学的信息!");
break;
}else{
System.out.println("你输入有误,请重新选择删除的方法(1、导入 2、手动输入):");
}
}
}
public static void 修改学生(ArrayList<Student> array) throws IOException {//按照录入与导入的方法修改集合当中学生的信息。
Scanner sc = new Scanner(System.in);
System.out.println("请输入修改的方法(1、导入 2、手动输入):");
while(true){
int num = sc.nextInt();
if(num==1){
System.out.println("请输入需要修改数据的文件路径:");
String filename = sc.next();
BufferedReader br = new BufferedReader(new FileReader (filename));
String line="";
int sum = 0 ;
//while循环判断是否录入完毕。
while((line = br.readLine())!=null){
String[] s = line.split(" ");
//for循环判断是否存在录入的学号
int index = 判断(array, s[0]);
if(index==-1){
System.out.println("学号'"+s[0]+"不存在");
}else{
Student st = new Student(s);
array.set(index,st);
sum++ ;
}
}
br.close();
System.out.println("成功修改了"+sum+"位同学的信息!");
break;
}else if(num==2){
System.out.println("请输入学生学号:");
String code = sc.nextLine();
//for循环判断是否存在录入的学号
int index = 判断(array, code);
if(index==-1){
System.out.println("系统中不存在学号'"+code+"',请重新输入!");
}else{
System.out.println("请输入学生新姓名:");
String name = sc.next();
System.out.println("请输入学生新年龄:");
String age = sc.next();
System.out.println("请输入学生新户籍:");
String place=sc.next();
Student s = new Student(code,name,age,place);
array.set(index,s);
System.out.println("修改成功!");
break;
}
}else{
System.out.println("你输入有误,请重新选择修改的方法(1、导入 2、手动输入):");
}
}
}
public static void 查看学生(ArrayList<Student> array) {//将集合中的数据以特定格式遍历出来。
if(array.isEmpty()==true){
System.out.println("系统中还未存储学生信息,请你添加之后再查看!");
}else{
System.out.println("学号"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"户籍");
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.get学号()+"\t"+s.get姓名()+"\t"+s.get年龄()+"\t"+s.get户籍());
}
}
}
public static void 添加学生(ArrayList<Student> array) throws IOException {//按照录入与导入的方法添加学生的信息到集合中。
Scanner sc = new Scanner(System.in);
System.out.println("请输入添加的方法(1、导入 2、手动输入):");
while(true){
int num = sc.nextInt();
if(num==1){
System.out.println("请输入需要导入数据的文件路径:");
String filename = sc.next();
BufferedReader br = new BufferedReader(new FileReader (filename));
String line="";
int sum = 0;
//while循环判断是否录入完毕。
while((line = br.readLine())!=null){
String[] s = line.split(" ");
int index = 判断(array, s[0]);
if(index!=-1){
System.out.println("学号'"+s[0]+"'在系统中已存在!");
}else{
Student st = new Student(s);
array.add(st);//将对象存入集合。
sum++;
}
}
br.close();
System.out.println("成功添加了"+sum+"位同学的信息!");
return;
}else if(num==2){
System.out.println("请输入学生学号:");
String code = sc.next();
int index = 判断(array, code);
if(index!=-1){
System.out.println("学号'"+code+"'已经存在,请重新输入!");
}else{
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
String age = sc.next();
System.out.println("请输入学生户籍:");
String place=sc.next();
Student s = new Student(code,name,age,place);
array.add(s);//将对象存入集合。
System.out.println("添加成功!");
return;
}
}else{
System.out.println("你输入有误,请重新选择添加的方法:");
}
}
}
public static int 判断(ArrayList<Student> array, String code) {//判断集合中是否存在与code相同的学号,如果存在,返回值为索引值,不存在返回值为-1。
for (int i = 0; i < array.size(); i++) {//遍历集合。
if (array.get(i).get学号().equals(code)){//判断集合中是否存在与code相同的学号,如果存在,同时得到索引值。
return i ;
}
}
return -1;//不存在返回值为-1。
}
}
//学生类
public class Student {
private String 学号 ;
private String 姓名 ;
private String 年龄 ;
private String 户籍 ;
public Student() {
}
public Student(String[] s) {
this.学号 = s[0];
this.姓名 = s[1];
this.年龄 = s[2];
this.户籍 = s[3];
}
public Student(String 学号, String 姓名, String 年龄, String 户籍) {
this.学号 = 学号;
this.姓名 = 姓名;
this.年龄 = 年龄;
this.户籍 = 户籍;
}
public String get学号() {
return 学号;
}
public void set学号(String 学号) {
this.学号 = 学号;
}
public String get姓名() {
return 姓名;
}
public void set姓名(String 姓名) {
this.姓名 = 姓名;
}
public String get年龄() {
return 年龄;
}
public void set年龄(String 年龄) {
this.年龄 = 年龄;
}
public String get户籍() {
return 户籍;
}
public void set户籍(String 户籍) {
this.户籍 = 户籍;
}
}
java学生管理系统代码相关推荐
- java学生管理系统代码_java学生信息管理系统(附源码)
一: 介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作 另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...
- java学生管理系统(简易)(三)---教师端的登录主页面
教师端的登录界面就比较清晰了...可能就我自己认为,以为前面写的太乱了...蒙圈 // 学会了先布局,在完善部分代码,嘤嘤嘤...之前那个学生的感觉凉凉啊~ // 有些代码中可能有main函数,有些没 ...
- Java 学生管理系统(详解)
文章目录 学生类 main方法 首界面登录 功能选择界面 添加学生信息 删除学生信息 修改学生信息 查看学生信息 学号遍历 和 清空控制台方法 附:学生管理系统代码 Student .Java Mai ...
- 计算机毕业设计-基于SSM+Vue的公交路线管理系统-java公交管理系统代码
计算机毕业设计-基于SSM+Vue的公交路线管理系统-java公交管理系统代码 1 开发环境及工具下载 开发语言:Java 架构:B/S 后台:SSM(Spring+SpringMVC+Mybatis ...
- 学生管理系统---代码实现
学生管理系统---代码实现 database类 students类 users类 dao类 studentdao userdao service类 database类 下面展示一些 内联代码片. pu ...
- Python学生管理系统代码
Python学生管理系统代码一览 复制即用 初学见谅 #python study # -*- coding: utf-8 -*-#学员信息 data = [{'id': ' 1','name': '辛 ...
- java考勤管理系统源码java学生考勤请假系统java学生考勤管理系统 java考勤系统java学生信息管理系统java学生管理系统
java考勤管理系统源码java学生考勤请假系统java学生考勤管理系统 java考勤系统java学生信息管理系统java学生管理系统 public Swingtest002() {// 设置标题se ...
- Java—学生管理系统使用文件永久存储
学生管理系统 上一次使用的集合只能对学生信息进行临时存储,关闭程序时数据就会消失,这次新增了文件存储,达到对学生信息的永久记录,首先在上次代码的基础上,增加了两个方法,一个是从学生文件读取信息到集合中 ...
- java学生管理系统(swing) (没用数据库,附源码)
如果有需要带数据库的,请小伙伴移步至:java+mysql学生管理系统(附源码,无套路) 事先声明: 程序简易,只是为了记录学习过程,大佬们勿喷,要实在忍不住,麻烦各位大佬轻点喷就是! 但是如果有任何 ...
- 基于IDEA的Java学生管理系统
1.创建学生类 package studentManager;public class Student {//定义成员变量private String num;//学号private String n ...
最新文章
- WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则
- axurehtml打开不用用_还有人花钱买会员看剧?赶紧用iPhone免费追剧
- 但是尚未从池中获取连接_SQLServer超时时间已到,但是尚未从池中获取连接
- Cracer渗透视频课程笔记——基础知识(2)
- Linux下LCD自动关闭解决方法,一般就自动十分钟黑屏的原因
- python开发跟淘宝有关联微_使用Python分析淘宝用户行为
- DevExpress的TreeList怎样给树节点设置图标
- SRS流媒体服务器搭建+ffmpeg推流VLC取流观看
- python计算在月球的体重程序_# Python程序语言设计基础(第二版)程序练习题
- springboot 通过url访问本地文件
- 核心单词Word List 5
- AutoIt教程资源及autoit学习方法
- Mac下php-fpm重启方式
- KingbaseES 中的xmin,xmax等系统字段说明
- Excel 滚动条动态显示图形
- 王者荣耀是如何从C++代码变到游戏的?
- 行政组织理论-阶段测评2
- C#获取字符串的拼音和首字母
- 警惕!微信诈骗花样多:点个赞都可能被骗
- 2011-2019 历届蓝桥杯——本科B组C/C++组别所有试题——详解大全