好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

利用Java写一个学生管理系统

前言:

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

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

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

?

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

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 来做界面,但是总得要看的过去吧,所以, 先做了一个比较简单的界面:

?

1

2

3

4

5

6

7

8

System.out.println( "***************" );

&emsp;&emsp;System.out.println( "*欢迎来到学生管理系统 *" );

&emsp;&emsp;System.out.println( "*1:增加学生                    *" );

&emsp;&emsp;System.out.println( "*2:删除学生                    *" );

&emsp;&emsp;System.out.println( "*3:修改成绩                    *" );

&emsp;&emsp;System.out.println( "*4:查询成绩                    *" );

&emsp;&emsp;System.out.println( "***************" );

&emsp;&emsp;System.out.println( "您想选择的操作是:" );

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

例如这里:

import java.util.*;

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

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

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

?

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

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循环来遍历操作,方便快捷。

到此这篇关于利用Java写一个学生管理系统的文章就介绍到这了,更多相关Java写一个学生管理系统内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://zhuanlan.zhihu.com/p/123936625

查看更多关于利用Java写一个学生管理系统的详细内容...

  阅读:10次