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

//当数组元素不为空时

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

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

//当数组不为空时

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

//当数组不为空时

if(stu[i]!=null){

//根据外部传入的sid判断数组中是否存在

if(stu[i].getSid()==sid){

stu[i].setName(newValue);//存在的话将数组元素的name设置为新的值

flag=true;//flag变更为true,同时终止循环

break;

}

}

}

return flag;//返回布尔值flag

}

}

学籍管理系统java_学籍管理系统(Java初级版)相关推荐

  1. 天天动听1.70 java_天天动听java通用版 v1.7

    为您推荐: 天天动听是一款功能强大.完全免费的手机音乐播放软件,支持歌词和歌曲图片下载,皮肤随心更换,更有炫丽震撼的可视化效果,同时预置丰富的均衡器效果,支持音效增强,简洁人性化的操作,带来手机听歌的 ...

  2. 旅行社管理系统 java_旅行社管理系统纯Java

    [实例简介] 纯Java写的旅行社管理系统,首先登陆窗口,然后就是 数据输入:输入旅行社提供的线路基本资料(线路行程.服务项目.服务标准.服务报价.房餐车票导游保险等信息): 2)报名接待:包括游客报 ...

  3. 停车场管理系统 java_跪求JAVA编写的停车场管理系统源代码

    展开全部 不知道这样行不行,随便写的,你62616964757a686964616fe58685e5aeb931333332643864看看: import java.util.Scanner; pu ...

  4. 学生奖罚管理系统Java_学生管理系统

    [java]代码库package com.ruide.db; import java.sql.Connection; import java.sql.PreparedStatement; import ...

  5. java学籍管理系统课设报告,java课程设计学籍管理系统.doc

    java课程设计学籍管理系统.doc 课程设计任务书题目学籍管理系统组员学号组员学号组员学号专业课程JAVA指导教师完成时间2011年9月2011年12月计算机科学系制1课程设计任务书及成绩评定课程设 ...

  6. java ee学生信息管理_基于jsp的学籍学生信息信息管理系统-JavaEE实现学籍学生信息信息管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的学籍学生信息信息管理系统, 该项目可用各类java课程设计大作业中, 学籍学生信息信息管理系统的系统架构分为前后台 ...

  7. 学籍(档案)管理系统的开发

    学籍(档案)管理系统的开发 1.在eclipse中创建一个项目SMS,建立User(用户)类.DataProcessing(数据处理)类和Main类,再建立管理员(Administrator)和学生( ...

  8. 生鲜配送ERP系统_对商品模块数据模型与界面设计的思考【Java 开源版】杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝

    生鲜配送ERP系统_对商品模块数据模型与界面设计的思考及简要分析[Java 开源版]杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝 一直在研究与改造自己的生鲜配送系统,越来越觉得后 ...

  9. 视频教程-超市管理系统(毕业设计项目指导)-Java

    超市管理系统(毕业设计项目指导) 拥有10年大数据以及Java相关系统架构及教学经验,Java线下培训讲师,曾担任公司技术总监; 擅长的领域:JavaSe.JavaEE:JavaWeb.SSH框架.S ...

最新文章

  1. dedecms vdimgck.php,织梦dedecms后台验证码图片不显示解决方案
  2. openwrt配置内核驱动_openwrt增加内核模块的方法
  3. IT部门在企业信息化中的转变
  4. 监控mysql的shell脚本_监控MySQL主从状态的shell脚本
  5. Vue 全家桶 + Express 实现的博客(后端API全部自己手写)
  6. 多径衰落信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)
  7. 天气预测频繁2项集_986天气| 今年冬天比往年更冷?官方回应来了
  8. api商品分享源码_谈谈微服务中的 API 网关(API Gateway)
  9. python找到列表中最大和最小的数
  10. GridView的DataKeyNames属性(转)
  11. dp规划之矩阵连乘问题
  12. 【LeetCode】数组-1(643)-返回规定长度k的最大子数组的平均数
  13. 瑞萨RX23T开发板一键设置库文件说明
  14. 恢复matlab文件关联
  15. 伪类选择器编写顺序以及注意事项
  16. 黑苹果音频卡顿_手机耗电大、卡顿怎么办?只需关掉这个按键轻松解决,去试试...
  17. 数据禾|全国10米DEM数字高程数据
  18. 三角剖分与Delaunay三角剖分及带约束的Delaunay三角剖分
  19. 支付宝钱包系统架构图解,真的太优秀了!
  20. 中图分类号——计算机软件类

热门文章

  1. 关于xgboost中feature_importances_和xgb.plot_importance不匹配的问题。
  2. os的概念,基本特征
  3. 类select下拉:多选+搜索
  4. 大数据的4v特征、数据预处理
  5. 十二要素应用宣言(The Twelve-Factor App)
  6. Android 系统语言切换监听和设置
  7. 计算机英语过级考试开挂,四六级口语:开挂攻略+考试黄金模板!
  8. Android Studio强者之路-刘桂林-专题视频课程
  9. Mac min忘记登录密码
  10. SuperSet (真)完全汉化