简单完整的学生管理系统

学生类

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. shell编程之免交互 (不要再让你的双手过度劳累了)

    shell编程之免交互 1.Here Document免交互 2.Expect免交互 3.免交互磁盘创建 1.Here Document免交互 概述: Here Document使用I/O重定向的方式 ...

  2. Lab: Web shell upload via Content-Type restriction bypass

    首先上传一个正常头像. 之后,上传木马文件,并抓包 POST /my-account/avatar HTTP/1.1 Host: ac4f1f7d1eaa6cd2c0d80622001b00f9.we ...

  3. Solution -「NOI 2018」「洛谷 P4768」归程

    \(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的无向连通图,边形如 \((u,v,l,a)\).每次询问给出 \(u,p\),回答 ...

  4. java中的代码块(初始化块)

    介绍 代码块又叫初始化块,属于类中的成员,类似于方法,将逻辑语句封装在方法体中,通过{ } 包围起来,但和方法不同,没有方法名,没有返回值,没有参数,只有方法体,而且不通过对象或类显示调用,而是加载类 ...

  5. 暑假撸系统7- 熊孩子的捣乱!javascript保存前台状态!

    系统大体框架已经搭的差不多了, 往下就是技术性的美化以及修补了,但这也是最最耗费时间的.在这个过程就发现了一个有意思的需求,这里把思路以及解决方案总结下. 因为做的是考试系统,不管是大或者小的考试,本 ...

  6. 面渣逆袭:二十二图、八千字、二十问,彻底搞定MyBatis!

    大家好,我是老三,面渣逆袭系列继续,这节我们的主角是MyBatis,作为当前国内最流行的ORM框架,是我们这些crud选手最趁手的工具,赶紧来看看面试都会问哪些问题吧. 基础 1.说说什么是MyBat ...

  7. [源码解析] NVIDIA HugeCTR,GPU 版本参数服务器---(7) ---Distributed Hash之前向传播

    [源码解析] NVIDIA HugeCTR,GPU 版本参数服务器---(7) ---Distributed Hash之前向传播 目录 [源码解析] NVIDIA HugeCTR,GPU 版本参数服务 ...

  8. 从数据源支持、支持方式等角度深入了解Smartbi与Tableau

    对数据分析来讲,数据源支持是基本功.让数据分析工具与数据保持一个通道,建立会话.用数据分析应用服务器与我们需要分析的业务数据进行连接,拿到需要的数据进行分析.Smartbi.Tableau系统给我们提 ...

  9. java 读取xlsx文件

    public class ReadExcel { public static void main(String[] args) { Workbook wb = null; Sheet sheet = ...

  10. tp5.0使用JWT完成token认证技术

    1.安装 composer require firebase/php-jwt 2.封装(在框架根目录extend下新建Token.php) 复制代码 <?php use Firebase\JWT ...