少年宫网站建设模块网站后台html页面
- 作者: 五速梦信息网
- 时间: 2026年03月21日 09:21
当前位置: 首页 > news >正文
少年宫网站建设模块,网站后台html页面,网站索引量暴增,wordpress安装主题 ftp这次我们来尝试使用Java实现一下学生管理系统#xff0c;顾名思义#xff0c;就是实现一个能用来管理学生各种数据的系统。在后续学习中我们将对学生管理系统进行两种实现#xff1a; #x1f4da; 学生管理系统初阶 #…这次我们来尝试使用Java实现一下学生管理系统顾名思义就是实现一个能用来管理学生各种数据的系统。在后续学习中我们将对学生管理系统进行两种实现 学生管理系统初阶 学生管理系统进阶 在这篇文章学习实现学生管理系统之前需要我们了解并学习过以下知识点: Java的输入和输出 Java的分支与循环 Java的数组 Java的方法(定义 调用 重载) Java的初阶面向对象(类和对象 构造方法) Java的集合(基本使用) 一、学生管理系统[初阶] 在创建学生管理系统之前我们需要知道这个系统要拥有哪些功能 ① 在系统中添加学生 ② 在系统中删除学生 ③ 在系统中修改某学生信息 ④ 对学生的信息进行查询(打印) ⑤ 退出学生管理系统 (注意:要求学生拥有id,名字,年龄,成绩四个属性) ① 创建学生类 那么既然是学生管理系统我们自然要创建一个学生类用来代表学生 对着src点击鼠标右键。 然后New一个JavaClass。 取名为Student。 这样我们就可以在该文件中创建Student类啦 public class Student {private String id;private String name;private int age;private double score; } 这里我们分享一个IDEA的小技巧 我们先按NumLk按键将键盘右侧的数字小键盘关闭然后按住ALTINSERT键 点击Constructor 点击Shift全选中 这样就会直接出现一个带参构造。 但是创建了带参构造后我们还得补充一个默认的无参构造才行于是重复刚刚的步骤不选参数 这样无参构造也完成啦~ 然后我们接下来选择Getter and Setter 仍然全选 这样Student的所有属性的get和set就都自动补全啦 ② 创建系统菜单 完成Student类的创建后我们再回到Main文件中 我们先写出一个基本的菜单 然后我们要知道进行选择需要进行数据的输入再分别判断是否为12345来进行对应的操作那么此时我们就可以使用switch语句 我们来运行一下 我们可以看到明明我们想要的应该是重新选择而此时却结束了那我们就可以在外面套用一层while循环 再次运行 虽然可以重复选择了但好像…停不下来了这是因为break的就近原则 我们可以看到break离switch比while更近所以break会优先跳出switch这个语句从而导致了while一直循环。其实想解决这个问题也很简单我们可以给while起个名字然后让break指定跳出while就好了 再次调试 这样就退出成功啦~ ③ 对学生的信息进行查询(打印) 想要对学生的信息进行打印我们就要确保有数据来存储学生的信息并且能够随时进行存储取出删除。而进行此类工作最最合适的也就是集合了那么让我们现在创建一个学生类的集合 (注:String数组也能够实现该功能但相较于集合代码量会多出一些并且也没有集合便于理解不过想尝试的小伙伴们也可以尝试一下就当对String的用法训练了嘛) 这样就创建好了 然后我们进行查询学生的方法实现 要求 如果集合中没有学生则查询失败。 如果集合中有学生则显示学生信息。 方法实现 public static void print(ArrayListStudent stu) {System.out.println(查询学生);if(stu.size() 0){System.out.println(目前系统中暂无学生!);}for (int i 0; i stu.size(); i) {Student s stu.get(i);System.out.println(id: String.format(%-8s,s.getId())姓名:String.format(%-8s,s.getName()) 年龄:String.format(%-8d,s.getAge()) String.format(%-8.2f,s.getScore()) 成绩:);}} 实现思路 当传进方法的集合stu长度为0时代表集合中没有学生于是则不打印学生。 当传进方法的集合stu长度大于0时代表集合中有学生于是对学生进行打印。我们使用for循环每一次循环都将集合中对应的学生取出然后对数据进行打印直到循环结束。 (待会儿完成在系统中添加学生方法后与该功能一起演示~) ④ 在系统中添加学生 完成最简单的查询功能后我们来完成稍微复杂一点的添加学生功能 要求 传入的 id 必须唯一 (如果有重复则传输失败) 方法实现 通过要求我们可以得知要完成此方法我们还需要知道传入id是否唯一那么我们在写该方法前先写出另一个用于实现判断方法是否唯一的方法 public static int findnum(ArrayListStudent stu,String id1) {for (int i 0; i stu.size(); i) {Student s stu.get(i);if(s.getId().equals(id1)){return i;}}return -1;} 思路我们将集合与id1都传入方法findnum中遍历集合中的学生类。 如果有id与id1重复的就说明此学生已存在返回i添加失败。 如果没有id与id1重复的就说明此学生未存在返回-1添加成功。 (注意查找id时使用的不是 而是 equals() 这是因为对于String类进行比较时只有同为初始化时才能够成功比较如果String是new出来的那么就无法进行比较。因为 比较String时本质是比较地址而 equals() 比较的才是内容)。 注意:此方法非常重要!!! 因为后续我们在完成在系统中修改某学生信息方法时还需要获取对应学生的下标才能够修改而此方法不仅能够通过返回值的正负确定学生是否存在还能够直接返回学生对应的下标。 那么接下来我们完成在系统中添加学生方法 public static void add(ArrayListStudent stu) {System.out.println(添加学生);Scanner in new Scanner(System.in);while (true) {System.out.println(请输入学生id:);String id1 in.next();if(findnum(stu,id1) 0){System.out.println(该学生已经存在,请重新输入);continue;}System.out.println(请输入学生姓名:);String name1 in.next();System.out.println(请输入学生年龄:);int age1 in.nextInt();System.out.println(请输入学生成绩:);double score1 in.nextDouble();Student s new Student(id1,name1,age1,score1);stu.add(s);System.out.println(学生添加成功);break;}} 实现思路 首先输入学生id并通过finenum方法传回的值来确认该学生是否存在于集合中。 (如果返回值 0 代表在集合中通过id找到了该学生则添加失败重新输入id) (如果返回值 0 代表在集合中没能通过id找到该学生则添加成功继续输入剩余数据) 创建一个临时使用的学生将新数据传递给学生再通过学生添加到集合中。 那么写了这么久让我们调试一下看看我们的学生管理系统现在的两个功能是否有误吧 当我们输入错误时能够成功的循环进行再次输入。 当没有学生的时候查询学生能正确显示。 那么接下来我们对添加学生与信息查询进行检测 我们可以看到查询学生和添加学生的功能是无误滴~ 至此两种方法成功~ ⑤ 在系统中删除学生 要求 若id存在则进行删除 若id不存在则不删除重新输入。 方法实现 public static void delete(ArrayListStudent stu) {Scanner in new Scanner(System.in);System.out.println(删除学生);while (true) {System.out.println(请输入学生id:);String id1 in.next();int num findnum(stu,id1);if(num 0){System.out.println(删除成功!);stu.remove(num);break;}else if(num 0){System.out.println(未找到该学生,请重新输入);}}} 实现思路 通过之前创建的findnum方法来确认是否存在该学生。 (如果返回值 0 代表在集合中通过id找到了该学生则删除成功) (如果返回值 0 代表在集合中没能通过id找到该学生则删除失败) 我们可以看到删除方法也是没有问题的~ ⑥ 在系统中修改某学生信息 接下来就要进行学生管理系统[初阶]中四个功能中最难的一个功能的实现啦~不怕不怕也没最难那么可怕啦难这种词语还是留着下一次做进阶版时再说也不迟 要求 如果id存在则进行新数据的传入 (新数据的传入需要保证新的 id 不与集合中现有其他学生 id 重复) 如果id不存在则重新输入 方法实现 public static void revise(ArrayListStudent stu){Scanner in new Scanner(System.in);System.out.println(修改学生);while(true){System.out.println(请输入学生id:);String id1 in.next();int num findnum(stu,id1);if(num 0){System.out.println(未找到此id的学生,请重新输入:);}else{System.out.println(请输入学生新的id:);String id2 in.next();int num1 findnum(stu,id2);if(num1 0) {System.out.println(此id已经拥有,请重新输入:);}else{System.out.println(请输入学生新的姓名:);String name1 in.next();System.out.println(请输入学生新的年龄:);int age1 in.nextInt();System.out.println(请输入学生新的成绩:);double score1 in.nextDouble();Student s new Student(id2,name1,age1,score1);stu.set(num,s);System.out.println(学生修改成功);break;}}}} 实现思路 先输入学生id然后仍然是使用findnum方法来查找是否存在该学生 (如果返回值 0 代表在集合中通过id找到了该学生则进行新数据的输入) (输入新的id再用findnum进行查找如果能找到该id则告知此id重复,请重新输入) (如果找不到该id则此id为新学生id然后继续修改其余数据) (如果返回值 0 代表在集合中没能通过id找到该学生则修改失败重新输入) 那么最后让我们调试一下吧~ 没有任何滴失误~ 那么关于学生管理系统[初阶]就完成啦如果有哪里讲解的不够清楚或者有的地方还能再加改进还请各位在评论区多多指出。而关于学生管理系统进阶我们将在下一篇文章中进行讲解大家敬请期待啦 双手奉上源码!!!: Student.java public class Student {private String id;private String name;private int age;private double score;public Student(String id, String name, int age, double score) {this.id id;this.name name;this.age age;this.score score;}public Student() {}public String getId() {return id;}public void setId(String id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public double getScore() {return score;}public void setScore(double score) {this.score score;} }Main.java import java.sql.SQLOutput; import java.util.*; import java.util.stream.StreamSupport; public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);ArrayListStudent stu new ArrayList();outside :while (true) {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(请输入你的选择:);String num in.next();switch (num){case 1 - add(stu);case 2 - delete(stu);case 3 - revise(stu);case 4 - print(stu);case 5 - {System.out.println(退出学生管理系统);break outside;}default - System.out.println(输入错误,请重新选择);}}}public static void add(ArrayListStudent stu) {System.out.println(添加学生);Scanner in new Scanner(System.in);while (true) {System.out.println(请输入学生id:);String id1 in.next();if(findnum(stu,id1) 0){System.out.println(该学生已经存在,请重新输入);continue;}System.out.println(请输入学生姓名:);String name1 in.next();System.out.println(请输入学生年龄:);int age1 in.nextInt();System.out.println(请输入学生成绩:);double score1 in.nextDouble();Student s new Student(id1,name1,age1,score1);stu.add(s);System.out.println(学生添加成功);break;}}public static void delete(ArrayListStudent stu) {Scanner in new Scanner(System.in);System.out.println(删除学生);while (true) {System.out.println(请输入学生id:);String id1 in.next();int num findnum(stu,id1);if(num 0){System.out.println(删除成功!);stu.remove(num);break;}else if(num 0){System.out.println(未找到该学生,请重新输入);}}}public static void revise(ArrayListStudent stu){Scanner in new Scanner(System.in);System.out.println(修改学生);while(true){System.out.println(请输入学生id:);String id1 in.next();int num findnum(stu,id1);if(num 0){System.out.println(未找到此id的学生,请重新输入:);}else{System.out.println(请输入学生新的id:);String id2 in.next();int num1 findnum(stu,id2);if(num1 0) {System.out.println(此id已经拥有,请重新输入:);}else{System.out.println(请输入学生新的姓名:);String name1 in.next();System.out.println(请输入学生新的年龄:);int age1 in.nextInt();System.out.println(请输入学生新的成绩:);double score1 in.nextDouble();Student s new Student(id2,name1,age1,score1);stu.set(num,s);System.out.println(学生修改成功);break;}}}}public static void print(ArrayListStudent stu) {System.out.println(查询学生);if(stu.size() 0){System.out.println(目前系统中暂无学生!);}for (int i 0; i stu.size(); i) {Student s stu.get(i);System.out.println(id: String.format(%-8s,s.getId())姓名:String.format(%-8s,s.getName()) 年龄:String.format(%-8d,s.getAge()) 成绩:String.format(%-8.2f,s.getScore()));}}public static int findnum(ArrayListStudent stu,String id1) {for (int i 0; i stu.size(); i) {Student s stu.get(i);if(s.getId().equals(id1)){return i;}}return -1;} }
相关文章
-
少年宫网站建设模块wordpress 页面显示最新文章
少年宫网站建设模块wordpress 页面显示最新文章
- 技术栈
- 2026年03月21日
-
韶关营销网站开发联系方式做电商网站需要会些什么
韶关营销网站开发联系方式做电商网站需要会些什么
- 技术栈
- 2026年03月21日
-
韶关营销网站开发联系方式如意影院
韶关营销网站开发联系方式如意影院
- 技术栈
- 2026年03月21日
-
邵东建设公司网站哪家好网站建设策划执行
邵东建设公司网站哪家好网站建设策划执行
- 技术栈
- 2026年03月21日
-
邵东做网站的公司网站开发的技术风险
邵东做网站的公司网站开发的技术风险
- 技术栈
- 2026年03月21日
-
邵东做网站的公司辛集seo网站优化
邵东做网站的公司辛集seo网站优化
- 技术栈
- 2026年03月21日
