From 06a09cbd00cb5a5fc519dacc2be0412bf8113b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E6=81=A9=E6=B0=91?= <3256972080@qq.com> Date: Fri, 23 Dec 2022 14:21:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E5=8D=81=E4=B8=89=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...01\344\270\211\346\254\241\350\257\276.md" | 200 ++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 "30 \350\256\270\346\201\251\346\260\221/20221220java\347\254\254\345\215\201\344\270\211\346\254\241\350\257\276.md" diff --git "a/30 \350\256\270\346\201\251\346\260\221/20221220java\347\254\254\345\215\201\344\270\211\346\254\241\350\257\276.md" "b/30 \350\256\270\346\201\251\346\260\221/20221220java\347\254\254\345\215\201\344\270\211\346\254\241\350\257\276.md" new file mode 100644 index 0000000..701c381 --- /dev/null +++ "b/30 \350\256\270\346\201\251\346\260\221/20221220java\347\254\254\345\215\201\344\270\211\346\254\241\350\257\276.md" @@ -0,0 +1,200 @@ +20221220java第十二次课.md + +~~~java +# 学生管理系统 + +```java +import java.util.Scanner; + +public class studen { + //把扫描器放在最外层。这样里面的所有方法都可以用了 + static Scanner sc =new Scanner(System.in); + static String[] stu=new String[10]; + + //一个文件就是一个系统 + public static void main(String[] args) { + //先定义一个数组,存放学生的信息 + //家色号里面已经有一些学生信息了 + stu[0]="林伟彬"; + stu[1]="林彬彬"; + + + aa:while (true){ + welCom(); + int a = choiceMenu(sc.nextInt()); + if (a==1){ + break; + } + } + + } + public static void welCom(){ + System.out.println("\n====================================="+ + "\n- \t\t欢迎使用3班学生系统\t\t\t-"+ + "\n- \t\t1.浏览所有学生信息\t\t\t\t-"+ + "\n- \t\t2.添加学生信息\t\t\t\t-"+ + "\n- \t\t3.修改学生信息\t\t\t\t-"+ + "\n- \t\t4.删除学生信息\t\t\t\t-"+ + "\n- \t\t5.查询学生信息\t\t\t\t-"+ + "\n- \t\t6.退出管理系统\t\t\t\t-"+ + "\n====================================="+ + "\n\t请输入对应的数字选择你需要的功能:"); + } + //2.根据输入的数字。进入不同的菜单分支 + public static int choiceMenu(int num){ + int a = 0; + switch (num){ + case 1: + //1.浏览所有学生信息 +// System.out.println("你选择了浏览所有学生"); + viewAllStudent(); + break; + case 2: + //2.添加学生信息 + addStudent(); + break; + case 3: + //修改学生信息 + editstudent(); + break; + case 4: + deleteStudent(); + //删除学生信息 + + break; + case 5: + searchStudent(); + //查询单个学生信息 + break; + case 6: + //退出管理系统 + System.out.println("你选择了退出系统"); + a = 1; + break; + default: + System.out.println("您输入的选项错误"); + } + return a; + } + //5.查询学生信息 + private static void searchStudent() { + System.out.println("请输入要查找的学生姓名:"); + String naem =sc.next(); + //查找这个学生的索引值 + int index = searchIndex(naem); + //判断学生如果找不到,就返回-1 是找到了就返回索引+1 + if (index==-1){ + System.out.println("对不起,没有该学生!"); + }else { + System.out.println("恭喜,找到了。Ta在"+(index+1)+"个"); + } + } + + //2.1删除学生的一个方法 + private static void deleteStudent() { + //1.输入要删除的学生姓名 + System.out.println("请输入要删除的学生:"); + String name = sc.next(); + //在数组中,查找这个naem对应的索引值, + int index = searchIndex( name); + //判断这个索引存不存在, + if (index == -1) { + System.out.println("对不起,没有该学生,无法删除"); + } else { + //将此索引值对应的元素改成null,用null + //数组是定长的,无法真正的删除 + stu[index] = null; + System.out.println("修改成功!"); + } + } + //类中的方法,可以有权限修饰符来显示该方法能被谁调用 + + //2.2修改学生的一个方法 + public static void editstudent() { + //1.输入要修改的学生姓名 + System.out.println("请输入要修改的学生姓名:"); + String name =sc.next(); + //在数组中,查找这个naem对应的索引值, + int index =searchIndex(name); + //判断这个索引存不存在, + if (index==-1){ + System.out.println("对不起,没有该学生,无法修改"); + }else { + //将索引值对应的元素改成用户输入的姓名 + System.out.println("请问你要把【"+name+"】修改成谁"); + String newName =sc.next(); + stu[index]=newName; + System.out.println("修改成功!"); + } + //如果找不到,说明没有学生。就不能修改 + //2.将找到的学生姓名改成输入的姓名 + + } + + //3.浏览所有学生信息的方法,封装的好处,可以复用,方便维护 + public static void viewAllStudent(){ + System.out.println("3班现有以下学生"); + //计数器,统计null的个数 + int count =0; + for (String name:stu){ + if (name==null){ + count++; + continue; + } + System.out.print(name+"\t"); + } + //判断,null的个数正好等于数组长度,说明整个数据库都是null + if (count == stu.length){ + System.out.println("目前,还没有学生信息!"); + } + } + //4.添加学生信息 + public static void addStudent(){ + //先找到没有人的位置,也就是第一个null的位置 + //然后将它改成你要添加的姓名 + System.out.println("请输入你要添加的学生姓名:"); + String name =sc.next(); + //先判断是否已经有该学生了 + int index =searchIndex(name); + if (index!=-1){ + System.out.println("该学生已经在数据库了,请不要重复添加!"); + }else { + int nullIndex =searchIndex(null); + stu[nullIndex]=name; + System.out.println("添加成功!"); + viewAllStudent(); + } + + + } + + //4.1先把找位置的功能,单独出来,做一个方法,返回找到的位置 + public static int searchIndex(String str){ + //定义一个索引变量 + int index=-1;//因为在数组里,0表示第一个元素,改成-1,就表示不存在。 + //null是特殊类型。所以要单独判断 + if (str==null){ + for (int i=0; i