前言

其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组、List等等来写出一个简易的学生管理系统,二、牛逼一点的大神则用数据库+swing来做一个有界面的学生管理系统。其实都并不会太难。

我先写一个简单的用List来实现学生管理系统:

首先,管理系统是针对学生对象的,所以我们先把学生对象写出来:

package bean;
public class Student {
String name;
String studentId;
String sex;
int grade;
public Student(String name,String studentId,String sex,int grade){
this.name= name;
this.studentId= studentId;
this.sex = sex;
this.grade = grade;
}
public int getGrade(){
return grade;
}
public String getName(){
return name;
}
public String getSex(){
return sex;
}
public void setGrade(int g){
this.grade = g;
}
public String getStudentId(){
return studentId;
}
}

这里面定义了一些得到当前学生对象数据的一些get方法,和成绩修改的set方法,代码很简单,不做详细的解答。

下来是我们的正文了。

虽然我们暂时不用swing来做界面,但是总得要看的过去吧,所以,先做了一个比较简单的界面:

System.out.println("***************");
  System.out.println("*欢迎来到学生管理系统 *");
  System.out.println("*1:增加学生                    *");
  System.out.println("*2:删除学生                    *");
  System.out.println("*3:修改成绩                    *");
  System.out.println("*4:查询成绩                    *");
  System.out.println("***************");
  System.out.println("您想选择的操作是:");

这里可以看到,我们的是用一个1234来选择项目,说以不得不讲一下Java如何获取到键盘所输入的数据---------Scanner ,要使用这个,首先需要import进来一个包:

例如这里:

import java.util.*;

之后的两行代码搞定输入:

Scanner sc = new Scanner(http://System.in); int choice = sc.nextInt();

接下来是各个功能的实现:

package test;
import java.util.*;
import bean.Student;
public class Manager {
static List<Student> StudentList = new LinkedList<Student>();
public static void main(String[] agrs){
select(StudentList);
}
private static void select(List<Student> StudentList ){
System.out.println("***************");
System.out.println("*欢迎来到学生管理系统 *");
System.out.println("*1:增加学生                    *");
System.out.println("*2:删除学生                    *");
System.out.println("*3:修改成绩                    *");
System.out.println("*4:查询成绩                    *");
System.out.println("***************");
System.out.println("您想选择的操作是:");
Scanner sc = new Scanner(System.in);
int choice = sc.nextInt();
switch(choice){
//增加学生
case 1:
System.out.print("请输入学生的姓名:");
Scanner Sname = new Scanner(System.in);
String name = Sname.nextLine();
System.out.print("请输入学生的性别:");
Scanner Ssex = new Scanner(System.in);
String sex = Ssex.nextLine();
System.out.print("请输入学生的学号:");
Scanner SId = new Scanner(System.in);
String studentId = SId.nextLine();
System.out.print("请输入学生的成绩:");
Scanner Sgrade = new Scanner(System.in);
int grade = Sgrade.nextInt();
StudentList.add(new Student(name,studentId,sex,grade));
System.out.println("添加成功!!!!!");
select(StudentList);
break;
//删除学生成绩
case 2:
System.out.print("请告诉我需要删除学生的学号:");
Scanner Sid = new Scanner(System.in);
String SstudentId = Sid.nextLine();
boolean isfindDelete = false;
for (int i = 0; i < StudentList.size(); i++) {
if(SstudentId.equals(StudentList.get(i).getStudentId())){
System.out.println("发现了该学生,正在删除...");
StudentList.remove(i);
System.out.println("删除成功!!!");
isfindDelete =true;
}
}
if(!isfindDelete){
System.out.println("抱歉,没有找到");
}
select(StudentList);
break;
//修改学生成绩
case 3:
System.out.print("请告诉我需要修改成绩学生的学号:");
Scanner GId = new Scanner(System.in);
String GstudentId = GId.nextLine();
boolean isfindChange = false;
for (int j = 0; j < StudentList.size(); j++) {
if(GstudentId.equals(StudentList.get(j).getStudentId())){
System.out.println("发现了该学生,正在修改...");
System.out.println("学生原成绩为"+StudentList.get(j).getGrade());
System.out.print("请输入修改后学生的成绩:");
Scanner Ggrade = new Scanner(System.in);
int grade2 = Ggrade.nextInt();
StudentList.get(j).setGrade(grade2);
System.out.println("修改成功!!!");
isfindChange =true;
}else{
}
}
if(!isfindChange){
System.out.println("抱歉,没有找到");
}
select(StudentList);
break;
//查看学生成绩
case 4:
System.out.print("请告诉我需要查询学生的学号:");
Scanner CId = new Scanner(System.in);
String CstudentId = CId.nextLine();
boolean isfindData = false;
for (int i = 0; i < StudentList.size(); i++) {
if(CstudentId.equals(StudentList.get(i).getStudentId())){
System.out.println("名字:"+StudentList.get(i).getName());
System.out.println("性别:"+StudentList.get(i).getSex());
System.out.println("学号:"+StudentList.get(i).getStudentId());
System.out.println("成绩:"+StudentList.get(i).getGrade());
isfindData = true;
}
}
if(!isfindData){
System.out.println("抱歉,没有找到");
}
select(StudentList);
break;
default:
System.out.println("您输入的数字有误,请重新输入:");
break;
}
}
}

可以看见,我把所有的实现过程全部放在select();方法中了,这样可以避免我选择完了一个操作后不能继续其他操作。大部分的操作都是依靠for循环来遍历操作,方便快捷。

学生管理系统在这里,是不是很简单呢?

如果有疑问,请在下面留言,并且为你们解答。 成为一名IT技术人员,磨练自己的技术是必不可少的,欢迎加入QQ群:Java资料共享群(10366–33591),可以与大牛在线随时讨论自己感兴趣的话题,让自己用最少的时间学到最多的东西。

java nextline_Java写一个学生管理系统相关推荐

  1. 用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)(二)

    本文上接用JDBC写一个学生管理系统(添加.删除.修改.查询学生信息) 这次主要是对上一文中的查询方法做一下调整,用创建内部类的方法来实现学生信息的查询. 我们先要定义一个接口IRowMapper: ...

  2. 用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)

    首先需要用Navicat Premium创建一个student表 用Java连接好MySQL数据库(需要copy一个mysql-connector-java-5.1.44-bin.jar包,该包可在网 ...

  3. 使用c语言写一个学生管理系统,学生信息包含姓名/性别/年龄/成绩,可以查改删增...

    以下是一个简单的学生管理系统的C语言实现,支持对学生信息进行添加.查询.修改和删除. ```c #include <stdio.h> #include <stdlib.h> # ...

  4. c语言用顺序表写一个学生管理系统,用顺序表实现学生信息管理系统

    #include #include #include #define MAXSIZE 100 typedef struct{ char no[20]; // 学号 char name[20]; // ...

  5. 用Java中的HashSet写一个学生管理系统(添加、删除、修改、查询学生信息)

    不废话,上代码: 先创建一个Student类: public class Student {private String id;private String name;private String m ...

  6. 用java简单写一个信息管理系统(尚硅谷项目二)

    1.项目要求 模拟实现基于文本界面的<客户信息管理软件>. 该软件能够实现对客户对象的插入.修改和删除(用数组实现),并能够打印客户明细表 2.将项目抽象为几个类 我们可以先将项目抽离为几 ...

  7. 用Java写一个信息管理系统与学习心得

    目录 创建项目所需要的依赖项 创建目录 主要实现功能: 添加武器信息: 更新武器信息: 删除武器信息 查找武器 分页 排序 设置页面效果 效果展示: 心得体会: 最后为大伙奉上源码: Java期末项目 ...

  8. python实现一个学生管理系统

    新手开始学习,跟着网上教程敲出一个学生管理系统 主要学习与熟悉:1.学习如何使用函数封装实现系统功能 2.熟悉对txt文本文件的增删改查 3.熟悉对字典.列表.字符串的处理 目录 一.需求分析 二.系 ...

  9. 使用Qt5编写一个学生管理系统

    程序使用Qt5编写了一个学生管理系统 首先介绍一下项目框架,项目包含一个主窗口mainwindow Mainwindow使用的就是最常见的Mainwindow带对话框的,带标题栏等等的窗口 两个子窗口 ...

最新文章

  1. android 更新 18个月,MIUI迎接史上最大更新:18个月内绝不卡顿,友商羡慕!
  2. shell之实战应用一(查找xml文档中的关键字段)
  3. (转)跟我一起写 Makefile(一)(陈皓)
  4. 十三、IntelliJ IDEA 中的版本控制介绍(下)
  5. 量子力学 一 基础7 酉算符与Hausdorff-Campbell公式
  6. C++ Primer 5th笔记(chap 19 特殊工具与技术)异常类层次
  7. asp.net网页上嵌入Flash显示
  8. 嵌入式开发有年龄限制吗_什么?!考教资有年龄限制了?2020年我还能考吗?...
  9. HTML代码转换编辑器
  10. php fastcgi exp,nginx +phpfastcgi 环境下 导出excel文件,超时,数据被截断问题,解决...
  11. spark学习-73-源代码:Endpoint模型介绍(5)-Netty通讯小例子
  12. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件 | 学步园
  13. 7-6 逆序的三位数 (10 分)
  14. 一页纸搞定项目管理:定义、要素及操作步骤(附可编辑模板及电子书)
  15. Scratch的广播与消息
  16. centos7自动获取ip命令_如何设置CentOS 7开机自动获取IP地址详解
  17. 西门子PLC内部的数据类型大全
  18. Gartner 2016数据仓库和数据分析数据库管理解决方案魔力象限
  19. 关于wish平台收款方式的比较,哪个更好?
  20. 非参数统计:两样本和多样本的Brown-Mood中位数检验;Wilcoxon(Mann-Whitney)秩和检验及有关置信区间;Kruskal-Wallis秩和检验

热门文章

  1. 人生总是起起落落落落落落...
  2. CCF201409-1 相邻数对
  3. 广度优先搜索——Corn Maze S(洛谷 P1825)
  4. 专访丨HashData创始人简丽荣:云原生与大数据时代,湖仓一体代表了未来
  5. 局部变量是线程安全的,原因是什么
  6. 知道ThreadLocal吗?一起聊聊到底有啥用
  7. 从原理到实践,手把手带你轻松get数仓双集群容灾
  8. FusionInsight MRS:你的大数据“管家”
  9. 跟随报文,开启一段奇妙之旅
  10. 什么是VXLAN?为什么需要VXLAN?