package StuManage;

public class Student {
 private String name;//姓名
 private String stuNum;//学号
 private String gender;//性别
 private int age;//年龄
 private double score;//分数
 
 public Student(){
  
 }
 //构造方法
 public Student(String name,String stuNum,String gender,int age,double score){
  this.name=name;
  this.stuNum=stuNum;
  this.gender=gender;
  this.age=age;
  this.score=score;
  
 }
 //设置姓名的方法
 public void setName(String name){
  this.name=name;
 }
 //获得名字的方法
 public String getName(){
  return name;
 }
 /**
  * @return the stuNum
  */
 public String getStuNum() {
  return stuNum;
 }
 /**
  * @param stuNum the stuNum to set
  */
 public void setStuNum(String stuNum) {
  this.stuNum = stuNum;
 }
 /**
  * @return the gender
  */
 public String getGender() {
  return gender;
 }
 /**
  * @param gender the gender to set
  */
 public void setGender(String gender) {
  this.gender = gender;
 }
 /**
  * @return the age
  */
 public int getAge() {
  return age;
 }
 /**
  * @param age the age to set
  */
 public void setAge(int age) {
  this.age = age;
 }
 /**
  * @return the score
  */
 public double getScore() {
  return score;
 }
 /**
  * @param score the score to set
  */
 public void setScore(double score) {
  this.score = score;
 }

}

package StuManage;

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

/**
 * 8、需求:制作一个简单的学生信息管理系统,通过键盘选择操作进行
 * 添加学生(学号,姓名,性别,年龄,成绩)的信息,
 * 这些信息通过数组存储,同时还可以进行查询某个或全体学生信息
 * ,修改学生信息,删除学生信息的操作。(要求有一定的优化,例如对用户输入信息是否符合要求的处理)。
 * @author LENOVO
 *
 */
public class StuData {
 ArrayList<Student> alist=new ArrayList<Student>(1000);
 Student stu=new Student();
 /**
  * 添加一个学生的信息的方法
  */
 public void addStu(Student stu){
  for(int i=0;i<alist.size();i++){
   if(stu.getStuNum().equals(alist.get(i).getStuNum())){
   System.out.println("这个学生已经存在,不需要进行添加!\n请您重新选择您要进行的操作~");
   return;
   }
  }
  
  alist.add(stu);
  System.out.println("------------------------您已经成功添加了该学生!--------------------------------");
 }
 /*8
  * 删除一个学生
  */
 public void delStu(String stuNum){
  boolean boo=false;
  int mark =0;
  for(int i=0;i<alist.size();i++){
   mark++;
   if(stuNum==alist.get(i).getStuNum()){
    boo=true;
    break;
   }
  }
  if(boo){
   
   alist.remove(alist.get(mark));
   System.out.println("---------------------您已经成功删除该学生!---------------------");
   
  }else{
   System.out.println("不存在该学生,不用进行删除操作!");
   
  }
  
 }
 /**
  * 改正一个学生的信息
  */
 public void updataStu(String stuNum){
  boolean boo=false;
  int mark =0;
  for(int i=0;i<alist.size();i++){
   mark++;
   if(stuNum==alist.get(i).getStuNum()){
    boo=true;
    break;
   }
  }
  if(boo){
   Scanner scanner=new Scanner(System.in);
   System.out.println("请您输入您要改正的学生的名字:");
   String name2=scanner.next();
   stu.setName(name2);
   System.out.println("请您输入您要改正的学生的学号:");
   String stuNum2 =scanner.next();
   stu.setStuNum(stuNum2);
   System.out.println("请您输入您要改正的学生的性别:");
   String gender2=scanner.next();
   stu.setGender(gender2);
   System.out.println("请您输入您要改正的学生的年龄:");
   int  age2=scanner.nextInt();
   stu.setAge(age2);
   System.out.println("请您输入您要改正的学生的分数:");
   double score2=scanner.nextDouble();
   stu.setScore(score2);
   alist.set(mark ,stu);
   System.out.println("---------------------您已经成功改正该学生!---------------------");
   
  }else{
   System.out.println("不存在该学生,不用进行改正操作!");
   
  }
  
  
 }
 /**
  * 查询学生信息
  */
 public void queryStu(String stuNum){
  boolean boo=false;
  int mark =-1;
  for(int i=0;i<alist.size();i++){
   mark++;
   if(stuNum.equals(alist.get(i).getStuNum())){
    boo=true;
    break;
   }
  }
  if(boo){
   System.out.println("姓名:"+alist.get(mark).getName());
   System.out.println("学号:"+alist.get(mark).getStuNum());
   System.out.println("性别:"+alist.get(mark).getGender());
   System.out.println("年龄:"+alist.get(mark).getAge());
   System.out.println("分数:"+alist.get(mark).getName());
   
   System.out.println("---------------------查询结束---------------------");
   
  }else{
   System.out.println("不存在该学生!");
   
  }
  
  
 }
}

package StuManage;

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

/**
 * 8、需求:制作一个简单的学生信息管理系统,通过键盘选择操作进行
 * 添加学生(学号,姓名,性别,年龄,成绩)的信息,
 * 这些信息通过数组存储,同时还可以进行查询某个或全体学生信息
 * ,修改学生信息,删除学生信息的操作。(要求有一定的优化,例如对用户输入信息是否符合要求的处理)。
 * @author LENOVO
 *
 */
public class StuData {
 ArrayList<Student> alist=new ArrayList<Student>(1000);
 Student stu=new Student();
 /**
  * 添加一个学生的信息的方法
  */
 public void addStu(Student stu){
  for(int i=0;i<alist.size();i++){
   if(stu.getStuNum().equals(alist.get(i).getStuNum())){
   System.out.println("这个学生已经存在,不需要进行添加!\n请您重新选择您要进行的操作~");
   return;
   }
  }
  
  alist.add(stu);
  System.out.println("------------------------您已经成功添加了该学生!--------------------------------");
 }
 /*8
  * 删除一个学生
  */
 public void delStu(String stuNum){
  boolean boo=false;
  int mark =0;
  for(int i=0;i<alist.size();i++){
   mark++;
   if(stuNum==alist.get(i).getStuNum()){
    boo=true;
    break;
   }
  }
  if(boo){
   
   alist.remove(alist.get(mark));
   System.out.println("---------------------您已经成功删除该学生!---------------------");
   
  }else{
   System.out.println("不存在该学生,不用进行删除操作!");
   
  }
  
 }
 /**
  * 改正一个学生的信息
  */
 public void updataStu(String stuNum){
  boolean boo=false;
  int mark =0;
  for(int i=0;i<alist.size();i++){
   mark++;
   if(stuNum==alist.get(i).getStuNum()){
    boo=true;
    break;
   }
  }
  if(boo){
   Scanner scanner=new Scanner(System.in);
   System.out.println("请您输入您要改正的学生的名字:");
   String name2=scanner.next();
   stu.setName(name2);
   System.out.println("请您输入您要改正的学生的学号:");
   String stuNum2 =scanner.next();
   stu.setStuNum(stuNum2);
   System.out.println("请您输入您要改正的学生的性别:");
   String gender2=scanner.next();
   stu.setGender(gender2);
   System.out.println("请您输入您要改正的学生的年龄:");
   int  age2=scanner.nextInt();
   stu.setAge(age2);
   System.out.println("请您输入您要改正的学生的分数:");
   double score2=scanner.nextDouble();
   stu.setScore(score2);
   alist.set(mark ,stu);
   System.out.println("---------------------您已经成功改正该学生!---------------------");
   
  }else{
   System.out.println("不存在该学生,不用进行改正操作!");
   
  }
  
  
 }
 /**
  * 查询学生信息
  */
 public void queryStu(String stuNum){
  boolean boo=false;
  int mark =-1;
  for(int i=0;i<alist.size();i++){
   mark++;
   if(stuNum.equals(alist.get(i).getStuNum())){
    boo=true;
    break;
   }
  }
  if(boo){
   System.out.println("姓名:"+alist.get(mark).getName());
   System.out.println("学号:"+alist.get(mark).getStuNum());
   System.out.println("性别:"+alist.get(mark).getGender());
   System.out.println("年龄:"+alist.get(mark).getAge());
   System.out.println("分数:"+alist.get(mark).getName());
   
   System.out.println("---------------------查询结束---------------------");
   
  }else{
   System.out.println("不存在该学生!");
   
  }
  
  
 }
}

package StuManage;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
  StuService stus=new StuService();
  while(true){
   System.out.println("--------------------欢迎进入学生管理系统--------------------------");
   System.out.println("1:输入学生信息");
   System.out.println("2:修改学生信息");
   System.out.println("3:删除学生信息");
   System.out.println("4:查询学生信息");
   System.out.println("0:退出系统");
   System.out.println("-----------请输入选项----------------");
   
   
   Scanner scanner=new Scanner(System.in);
   int a=scanner.nextInt();
   
   if(a==0){
    System.out.println("******************退出系统***************************");
    System.exit(0);
   }
   else{
    stus.main(a);
   }

}
 }
}

学生管理系统利用arrayList第二次优化的更多相关文章

  1. 史上最强学生管理系统之ArrayList版

    其实不管是网上或者培训班,都会有学生管理系统的最基础版本,本人也不过是照猫画虎,在某些细节方面进行了一些渲染,使这个最基本的小程序更加人性化和便于利于操作一点,个人愚见,大牛勿喷,欢迎转载(请注明出处 ...

  2. 学生管理系统——ArrayList集合

    此学生管理系统利用了集合ArrayList实现了对学生的增删改查:利用数组中的方法实现分数排序:运用String类的equals实现登录功能的字符串比较. 管理员类: package data; pu ...

  3. #006 C语言大作业学生管理系统第三天

    还差最后两部分 读取文件 恢复删除的学生信息 先学会处理文件的 知识点,再继续跟着视频做这个作业. 应该明天周六能把视频里手把手教的学生管理系统敲完 第二周尽量自己能完成C语言课本最后面那道学生管理系 ...

  4. java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,

    1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...

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

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

  6. JDBC学生管理系统--处理分页显示

    分页的思想: 假设一共有104条数据,每页显示10条数据: select * from student limit 0,10; 页数是index,第index页,对应的sql语句是: select * ...

  7. 学生管理系统开发代码分析笔记:jsp+java bean+servlet技术

    1 序言 学习java web的时候很渴望有一份完整的项目给我阅读,而网上的大部分项目拿过来都无法直接用,好不容易找到了一个学生管理系统也是漏洞百出.在此,我将边修改边学习这份代码,并且加上完全的注释 ...

  8. 第83节:Java中的学生管理系统分页功能

    第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其 ...

  9. Java实现功能简单的学生管理系统(附带源代码)

    这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...

随机推荐

  1. Spring Boot ERROR StatusLogger No Log4j 2 configuration file found

    1. 问题描述 项目之前的 log4j2 配置没问题,把 pom 文件中的 spring-boot-starter-web 依赖删除后,然后启动项目就报错找不到 log4j2.yml 文件. 之前引用 ...

  2. vue 动态渲染数据很慢或不渲染

    vue 动态渲染数据很慢或不渲染 原因是因为vue检测速度很慢,因为多层循环了,在VUE 2.x的时候还能渲染出来,1.x的时候压根渲染不出来.解决方式:在动态改变数据的方法,第一行加上 this.$ ...

  3. No suitable constructor was found in NUnit Parameterised tests

    No suitable constructor was found in NUnit Parameterised tests Fairly obvious, but can also happen i ...

  4. C# 7 .NET / CLR / Visual Studio version requirements

    C# 7 .NET / CLR / Visual Studio version requirements   You do NOT need to target .NET 4.6 and above, ...

  5. 初写C#的小总结

    虽然大学学过很多计算机语言,但是现在工作是前端,一个刚入行的前端菜鸟,之前对于后台完全零接触,但是最近有个项目,我也是第一次真正接触C#,中间遇到了一些小问题,就做个总结记录下,真的是超级简单的小知识 ...

  6. github上打开或下载过慢的问题解决

    1.用站长工具查询github.com http://tool.chinaz.com/dns?type=1&host=github.com&ip= 2.找到“美国[海外]”项查到的ip ...

  7. MediaPlayer 播放视频的方法

    MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.reset();//重置为初始状态 mediaPlayer.setAudioStrea ...

  8. php如何开启gd2扩展

    extension=php_gd2.dll 找到php的配置文件php.ini,搜索extension=php_gd2.dll,去掉前面的分号即可:如果没有直接添加这种情况适合于windows系统和编 ...

  9. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-5.HttpClient4.x工具获取使用

    笔记 5.HttpClient4.x工具获取使用     简介:讲解httpClient4.x相关依赖,并封装基本方法. 1.加入依赖         <dependency>       ...

  10. QT下过多点的曲线绘制

    绘制过多点的曲线意义重大.但通过试验,QT的PainterPath不是很如意.当多段曲线围成一个区域时,PainterPath内并不包含该区域的所有面积,只包含曲线和其弦构成的面积. 为了解决这一问题 ...