简单完整的学生管理系统

学生类

public class Student {
private String id;
private String age;
private String name;
private String address;
public Student(){};//无参构造方法
public Student(String name,String age,String id,String address){//有参构造方法
this.id=id;
this.name=name;
this.address=address;
this.age=age;
//get/set方法

}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getAge() {
return age;
}

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

public String getName() {
return name;
}

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

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}
}

学生管理类

package StudentMannerger;

import java.util.ArrayList;
import java.util.Scanner;

/*案例:简单的学生管理系统
*
* */
public class StudentManager {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> arr=new ArrayList<Student>();
boolean flag=true;
while (flag) {
System.out.println("----------学生管理系统----------");
System.out.println("1 新增学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看所有学生");
System.out.println("5 退出");
System.out.println("请输入您所要进行的操作:");
//创建Scanner对象
Scanner sc = new Scanner(System.in);
int choose = sc.nextInt();
switch (choose) {
case 1:
addStudent(arr);
System.out.println("添加学生成功");
break;
case 2:
deleteStudent(arr);
break;
case 3:
updateStudent(arr);
break;
case 4:
selectStudent(arr);
break;

case 5:
System.out.println("5 退出");
flag=false;
break;

}
}

}
//定义方法添加学生的方法
public static void addStudent(ArrayList<Student> array){
//创建scanner对象

Scanner sc = new Scanner(System.in);
String id;
while(true) {
System.out.println("请输入学生id");
id = sc.nextLine();
boolean f = isId(array, id);
if (f) {
System.out.println("已占用");
} else {
break;
}
}

System.out.println("请输入学生姓名");
String name = sc.nextLine();
System.out.println("请输入学生年龄");
String age = sc.nextLine();
System.out.println("请输入学生地址");
String address = sc.nextLine();
//创建学生对象
Student s = new Student();
s.setId(id);
s.setAddress(address);
s.setName(name);
s.setAge(age);
array.add(s);
}

// System.out.println(arr);

//定义方法查看学生的方法
public static void selectStudent(ArrayList<Student> array){
if (array.size()==0){
System.out.println("表中没有数据");
return;
}
System.out.println("id\t"+"姓名\t"+"性别\t"+"\t地址");
System.out.println("-----------------------------");
//使用arr.get方法进行遍历元素
for (int i=0;i<array.size();i++){
//Student s=new Student();

Student s=array.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
System.out.println("-----------------------------");
System.out.println("查看成功");
}
//定义方法删除学生
public static void deleteStudent(ArrayList<Student>array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的学生id");
String id=sc.nextLine();
int index =-1;
for (int i=0;i<array.size();i++){
Student s=array.get(i);
if (s.getId().equals(id)){
index=i;
break;
}
}
if (index==-1){
System.out.println("没有查到该人");

}else
{
array.remove(index);
System.out.println("删除成功");

}
// for (int i=0;i<array.size();i++){
// Student s=array.get(i);
// if (s.getId().equals(id)){
// array.remove(i);
// System.out.println("删除成功");
// }else
// System.out.println("没有查询到该学生");
// }

}
//定义方法修改学生信息
public static void updateStudent(ArrayList<Student>array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入您要修改的学生的id");
String id=sc.nextLine();
System.out.println("请输入学生的新姓名");
String name=sc.nextLine();
System.out.println("请输入学生的新年龄");
String age=sc.nextLine();
System.out.println("请输入学生的新地址");
String address=sc.nextLine();
Student s=new Student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAddress(address);
for (int i=0;i<array.size();i++){
Student s1=array.get(i);
if (s1.getId().equals(id)){
array.set(i,s);
System.out.println("修改成功");
}else
System.out.println("没有找到该人");
}

}
//定义防止学号重复的方法
public static boolean isId(ArrayList<Student>array,String id){
boolean flag=false;
for (int i=0;i<array.size();i++){
Student s= array.get(i);
if (s.getId().equals(id)){
flag=true;
break;
}
}
return flag;
}
}

Java案例——学生管理系统的更多相关文章

  1. EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统

    EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...

  2. java构建学生管理系统(一)

    用java搭建学生管理系统,重要还是对数据库的操作,诸如增删改查等. 1.基本的功能: 老师完成对学生信息的查看和修改,完成对班级的信息的概览. 学生可以看自己的成绩和对自己信息的修改. 学生和老师有 ...

  3. Java+Mysql+学生管理系统

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具 ...

  4. Java 简化版学生管理系统(IO版)

    Student management system   学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...

  5. Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化

    知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...

  6. Java 小型学生管理系统心得

    这个学生管理系统相对来说比较简单,主要就是复习下java怎么连接数据库,然后你怎么来实现这个功能,我简单的说下思路吧. 首先你要构思好这个界面,他包括增删查改这些基本功能,然后你去分析这些功能都能怎么 ...

  7. Java开发学生管理系统

    Java 学生管理系统 使用JDBC了链接本地MySQL 数据库,因此在没有建立好数据库的情况下没法成功运行 (数据库部分, Java界面部分, JDBC部分) 资源下载: http://downlo ...

  8. Java写学生管理系统

    package Homework08;/*调试了一上午,收获:学会了昨天的debug的使用吸取教训:Student stus[]=new Student[2]; for (int i=0;i<s ...

  9. java集合学生管理系统

    //student.java package com.sran.www; import java.util.Arrays; import java.util.Scanner; public class ...

随机推荐

  1. linux_18

    简述keepalived工作原理 编译安装haproxy 总结haproxy各调度算法的实现方式及其应用场景 使用haproxy的ACL实现基于文件后缀名的动静分离

  2. maven下使用jstl标签(1.2)版本

    使用的是1.2版本的,只需要一个jstl-1.2.jar    jsp中头部加入<%@ taglib prefix="c" uri="http://java.sun ...

  3. MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

    今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...

  4. Solution -「51nod 1868」彩色树

    \(\mathcal{Description}\)   Link & 双倍经验 Link.   给定一棵 \(n\) 个结点的树,每个结点有一种颜色.记 \(g(u,v)\) 表示 \(u\) ...

  5. Mybatis第三方PageHelper分页插件原理

    ​ 欢迎关注公号:BiggerBoy,看更多文章 原文链接:https://mp.weixin.qq.com/s?__biz=MzUxNTQyOTIxNA==&mid=2247485158&a ...

  6. python中提取字典中的键值

    1 # 字典如下 2 movie = { 3 '妖猫传':['黄','染'], 4 '无问西东':['章','王'], 5 '超时空':['雷','佟'] 6 } 7 name = input('请输 ...

  7. 【基础篇】js对本地文件增删改查--查

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  8. CobaltStrike逆向学习系列(8):Beacon 结果回传流程分析

    这是[信安成长计划]的第 8 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Beacon 接收与处理 0x02 结果回传 Beacon 在接受完命令并执行后,会将数据加密回传给 T ...

  9. [题解]UVA11029 Leading and Trailing

    链接:http://vjudge.net/problem/viewProblem.action?id=19597 描述:求n^k的前三位数字和后三位数字 思路:题目要解决两个问题.后三位数字可以一边求 ...

  10. 还在被数据分析报告折磨?Smartbi让你解放双手

    数据分析报告贯穿了企业经营的时时刻刻,方方面面. 数据分析报告最常用于汇报分享:团队需要分享.沟通,数据分析师需要洞察数据.分析结果分享给企业领导.团队同事.大众媒体及更多的利益相关方. 数据分析报告 ...