Java写一个学生管理系统

前言

其实作为一名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;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

这里面定义了一些得到当前学生对象数据的一些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("您想选择的操作是:");

1

2

3

4

5

6

7

8

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

例如这里:

import java.util.*;

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

Scanner sc = new Scanner(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;

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

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

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

如果有疑问,请在下面留言,并且为你们解答。

成为一名IT技术人员,磨练自己的技术是必不可少的,欢迎加入QQ群:Java资料共享群(10366–33591),可以与大牛在线随时讨论自己感兴趣

————————————————

版权声明:本文为CSDN博主「程序员的成长路程」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_46632354/article/details/105287894

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容

  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 6,950评论 0 9
  • /*【程序21】 * 作者 南枫题目:求1+2!+3!+...+20!的和 1. 程序分析:此程序只是把累加变成了...
    HUC南枫阅读 430评论 0 0
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 376评论 0 0
  • /* 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    HUC南枫阅读 447评论 0 1
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 653评论 0 0