学籍管理系统(Java初级版)

import java.util.Scanner;
/**
 * 学籍管理系统
 * @author Tanker
 * @version 4.6.0
 */
 public class XueJiSystem {
    //Java 入口
	public static void main(String[] args) {
    	Scanner sc=new Scanner(System.in); //控制台输入

		System.out.println("欢迎来到本学籍管理系统!");
		for(;;){
			System.out.println("请输入 1.添加学生信息  2.查询  3.修改姓名  4.删除  5.退出");
			int num=sc.nextInt(); //接收用户输入
			if(num==1){
				Student s=new Student();//实例化一个学生对象
				//分别给学生的属性赋值
				System.out.println("请输入学生学号:");
				s.setSid(sc.nextInt());
				System.out.println("请输入学生姓名:");
				s.setName(sc.next());
				System.out.println("请输入学生年龄:");
				s.setAge(sc.nextInt());
				System.out.println("请输入学生地址:");
				s.setAdd(sc.next());
				//调用添加方法,并把学生对象传入里面,返回是否添加成功的标示
				boolean flag=StudentOperator.addStudent(s);
				//根据标示,判断是否添加成功
				if(flag){
					System.out.println("添加成功!");
				}else{
					System.out.println("添加失败!");
				}
			}
			else if(num==2){
				System.out.println("请输入学生学号:");
				int sid=sc.nextInt();
				//根据输入学号查询学生信息
				Student s=StudentOperator.selectStudent(sid+"");
				if(s==null){
					System.out.println("该学生信息不存在!");
				}else{
					System.out.println(s.toString());////toString 是默认的一个方法
				}
			}
			else if(num==3){
				System.out.println("请输入要修改姓名的学生学号:");
				int sid=sc.nextInt();
				//根据输入的学生ID。查询学生信息
				Student s=StudentOperator.selectStudent(sid+"");
				//如果学生信息存在
				if(s!=null){
					System.out.println("请设置新的姓名:");
					String newName=sc.next();
					//调用方法,并把学号、学生姓名、修改后的姓名传入里面,返回是否添加成功的标示
					boolean flag=StudentOperator.updateStudent(sid,s.getName(),newName);
					//判断修改是否成功
					if(flag){
						System.out.println("修改成功!");
					}else{
						System.out.println("修改失败!");
					}
				//如果学生信息不存在
				}else{
					System.out.println("该学生信息不存在!请添加");

				}
			}
			else if(num==4){
				System.out.println("请输入要删除的学生学号:");
				int sid=sc.nextInt();
				//根据输入的学生ID。查询学生信息
				Student s=StudentOperator.selectStudent(sid+"");
				if(s!=null){
					//找到学生信息之后将学号传入删除方法并返回是否删除成功的标示
					boolean flag=StudentOperator.deleteStudent(sid);
					//判断是否删除成功
					if(flag){
						System.out.println("删除成功!");
					}else{
						System.out.println("删除失败!");
					}
				}else{
					System.out.println("该学生信息不存在!");
				}
			}
			else if(num==5){
				System.out.println("系统已退出!");
				break;
			}else{
				System.out.println("输入有误!请重输");
			}

		}

        }
}

//学生类
public class Student {

	private int sid;// 学号
	private String name;// 姓名
	private int age;// 年龄
	private String add;// 家庭住址

	public int getSid() {
		return sid;
	}

	public void setSid(int sid) {
		this.sid = sid;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getAdd() {
		return add;
	}

	public void setAdd(String add) {
		this.add = add;
	}

//显示查询结果 每个类都有toString方法
	@Override
	public String toString() {
		return "Student [sid=" + sid + ", name=" + name + ", age=" + age + ", add=" + add + "]";
	}

}

//控制类,围绕数组展开增删改查四大方法
public class StudentOperator {

	static Student stu[]=new Student[10];//用于存放学生对象

//	查询方法
	public static Student selectStudent(String sid){
		Student s=null;//定义一个学生类的变量s 定义为空
		//遍历数组
		for(int i=0;i<stu.length;i++){
			//当数组元素不为空时
			if(stu[i]!=null){
				//判断该元素的sid跟外部传入的sid是否相等
				if(stu[i].getSid()==Integer.parseInt(sid)){
					s=stu[i];//如果相等就把该元素赋值给s
				}
			}
		}
		return s;//返回学生类s

	}

//	添加学生信息
	public static boolean addStudent(Student s){
		//定义一个int类型的变量index,赋值为-1,用于标记数组下标
		int index=-1;
		//遍历数组,给要添加的学生找个空位
		for(int i=1;i<stu.length;i++){
			if(stu[i]==null){
				index=i;//有空位就将下标赋值给index,并停止循环
				break;
			}
		}
		//通过index下标的值判断添加情况
		if(index==-1){
			return false; //位置满了添加失败
		}else{
			stu[index]=s; //将对象学生存入数组
			return true;  //添加成功
		}
	}

//	删除
	public static boolean deleteStudent(int sid){
		//定义一个布尔类型的变量flag 初始化为false
		boolean flag=false;
		//遍历数组
		for(int i=0;i<stu.length;i++){
			//当数组不为空时
			if(stu[i]!=null){
				//根据外部传入的sid判断数组中是否存在
				if(stu[i].getSid()==sid){
					stu[i]=null;//存在的话将数组元素清空(赋值为空)
					flag=true;//flag变更为true,同时终止循环
					break;
				}
			}
		}
		return flag; //返回布尔值flag
	}

//	修改信息
	public static boolean updateStudent(int sid,String field,String newValue){
		//定义一个布尔类型的变量flag 初始化为false
		boolean flag=false;
		//遍历数组
		for(int i=0;i<stu.length;i++){
			//当数组不为空时
			if(stu[i]!=null){
				//根据外部传入的sid判断数组中是否存在
				if(stu[i].getSid()==sid){
					stu[i].setName(newValue);//存在的话将数组元素的name设置为新的值
					flag=true;//flag变更为true,同时终止循环
					break;
				}
			}
		}
		return flag;//返回布尔值flag
	}

}
时间: 2024-08-09 06:35:14

学籍管理系统(Java初级版)的相关文章

学生信息管理系统 (初级版)

form1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WindowsFormsApplication1.DataOperation; using WindowsF

java课堂测试样卷-----简易学籍管理系统

程序设计思路:分别建立两个类:ScoreInformation类(用来定义学生的基本信息以及设置set和get函数)ScoreManagement类(用来定义实现学生考试成绩录入,考试成绩修改,绩点计算等功能的函数)和一个主函数Text类 (通过输入的数字选项进行功能的实现,因为退出系统代码量极少,所以在主函数中实现此功能) 程序源代码及注释 ScoreInformation类: 1 //信1805-3 20183658 王兵兵 2 package adc; 3 4 public class S

学生信息管理系统java测试报告

package studentinformation; /**姓名 胡海靖 * 学号 20183609 * 班级 信1805-2 */ class ScoreInformation { private String stunumber;//学号 private String name;//姓名 private double mathematicsscore;//高等数学成绩 private double englishiscore;//大学英语成绩 private double networks

JAVA测验—学生学籍管理系统

设计思路: 创建基本的ScoreInfoemation类,创建基本的数据成员以及基本的设置方法.获取数据方法以及有无参的构造方法. 1 package Test; 2 3 import java.util.*; 4 5 public class ScoreInformation { 6 7 private String stunumber; 8 private String name; 9 private double mathematicsscore; 10 private double en

石家庄铁道大学软件工程系学生学籍管理系统2019版

//信1805-1 戴伟伟 20183773package dww; import java.util.Scanner; class ScoreInformation { private String stunumber; private String name; private double mathematicsscore; private double englishscore; private double networkscore; private double databasesco

java集合框架小结(初级版)

今天大概的整理了一下java集合框架,在这里做一个小结,方便以后查阅,本博文主要参考资料为<java编程思想第四版>第11章——持有对象以及JAVA 1.6 API文档.并没有研究更深入的第17章<容器深入研究>.大概介绍了集合框架中几个比较常用的集合类. 以下为正文. 首先来看一张图,不太会用visio,画的可能不太好看 图中将接口.抽象类.实现类.淘汰类(圆角矩形)进行标注.有直线连接的类(或接口)表示是子类关系或者实现关系 由图示可以看出,集合类主要有两个集合接口: 1.Co

JAVA学生学籍管理系统

每天记录学习,每天会有好心情.*^_^* 今天记录的项目是基于JAVA的学生学籍管理系统,基于JAVA的学生学籍管理系统项目是这么回事:电子学籍系统可对学生学籍注册.档案管理.学籍异动.升级.毕业.成长记录实现全程信息化管理.采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库.2013年12月8日,教育部基础教育一司司长王定华在长春出席会议时表示,中小学电子学籍系统将在2013年年底全国联网,2014年正式实现开通,今后中央在一些经费支持方面,将与

Spring IOC原理(初级版)

Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发.从简单性.可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益. ------------------------------------------------------------↑ 以上都是废话,我也不懂 ↑   ↓ 下面是整体架构,可以略过 ↓ ----------------------

学生学籍管理系统_管理员登陆对学生的信息进行操作

MInterface.java package studentManage; import java.awt.*; import java.awt.event.*; import javax.swing.*; /* * 管理员 * 操作界面接口类,可以直接扩展.调用. */ public class MInterface extends JFrame implements ActionListener { static JMenuBar jMenuBar = new JMenuBar();//