简单完整的学生管理系统

学生类

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. ASP.NET Core 6框架揭秘实例演示[01]: 编程初体验

    作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...

  2. Windows安装MySQL5.7解压版

    1. 解压后根目录添加配置文件my.ini [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [ ...

  3. 测试提高路线图_tester+

    https://mp.weixin.qq.com/s/30ZT0w164Q3iLdPg4R8org

  4. Solution -「POJ 3710」Christmas Game

    \(\mathcal{Decription}\)   Link.   定义一棵圣诞树: 是仙人掌. 不存在两个同一环上的点,度数均 \(\ge 3\).   给出 \(n\) 棵互不相关的圣诞树,双人 ...

  5. [LeetCode]27.移除元素(Java)

    原题地址: remove-element 题目描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必 ...

  6. RFC3918组播转发时延测试——网络测试仪实操

    一.简介 1.RFC3918简介 历史 · 在1999年3月成为正式标准 功能 · 评测网络互连设备或网络系统的性能 · 网络设备: 交换机,路由器- 内容 · 定义了一整套测试方法,为不同厂家的设备 ...

  7. MySQL 8.0.25 MSI Install 安装过程

    官网下载地址: https://dev.mysql.com/downloads/mysql   其中web-community需要联网安装,另外一个可以离线安装.我下载的是离线安装包.   1.双击安 ...

  8. rlwrap的使用

    转至:http://blog.itpub.net/429786/viewspace-776177/ 在LINUX下使用ORACLE一些命令时(如sqlplus,rman等),经常需要调用上次或之前运行 ...

  9. _IO_2_1_stdin_ 任意写及对 _IO_2_1_stdout_ 任意读的补充

    之前写过一篇 IO_FILE--leak 任意读,但是在学习的时候偷懒了,没有深入去看,这次碰到 winmt 师傅出的题,就傻眼了,故再写一篇博客来记录一下. 例题 ctfshow Incomplet ...

  10. [手写系列] 带你实现一个简单的Promise

    简介 学习之前 需要先对Promise有个基本了解哦,这里都默认大家都是比较熟悉Promise的 本次将带小伙伴们实现Promise的基本功能 Promise的基本骨架 Promise的then Pr ...