diff --git "a/24 \351\231\210\344\277\212\345\223\262/20221219 \344\275\234\344\270\232.md" "b/24 \351\231\210\344\277\212\345\223\262/20221219 \344\275\234\344\270\232.md" deleted file mode 100644 index 44f77103fe8b0083e0b8df641ab0aefa365c16f8..0000000000000000000000000000000000000000 --- "a/24 \351\231\210\344\277\212\345\223\262/20221219 \344\275\234\344\270\232.md" +++ /dev/null @@ -1,191 +0,0 @@ -~~~java -package text.homework; - -import java.util.Scanner; - -public class zy05 { - public static void main(String[] args) { - //题目:编写函数,计算圆的面积和周长,在主函数中接受圆的半径,在自定义函数中计算并输出 - - //在主函数中接受圆的半径,在自定义函数中计算并输出 - Scanner sc = new Scanner(System.in); - System.out.println("请输入所求圆的半径"); - double r = sc.nextDouble(); - System.out.println("圆的面积为" + method01(r)); - System.out.println("圆的周长为" + method02(r)); - - } - //编写函数,计算圆的面积和周长 - public static double method01(double r){ - return r * r * 3.14; - } - - public static double method02(double r){ - return 2 * 3.14* r; - } -} -~~~ - -~~~java -package text.homework; - -import java.util.Random; -import java.util.Scanner; - -public class zy06 { - public static void main(String[] args) { - //在主函数中产生20个0-10之间的随机数,将这20个随机数存入数组 - Random r = new Random(); - int[] arr = new int[20]; - for (int i = 0; i < 20; i++) { - arr[i] = r.nextInt(11); - } - - // 并通过函数计算某个数在这些随机数中出现的次数(这“某个数”是在主函数中由用户输入的) - Scanner sc = new Scanner(System.in); - System.out.println("请输入0~10中的一个数"); - int number = sc.nextInt(); - int count = 0; - - //展示数组中的数(验证) - for (int i = 0; i < arr.length; i++) { - System.out.println(arr[i]); - } - - //计算某个数在这些随机数中出现的次数 - for (int i = 0; i < arr.length; i++) { - if(number == arr[i]){ - count++; - } - } - System.out.println("该数在这些随机数中出现了" + count + "次"); - } -} -~~~ - -~~~java -package text.homework; - -import java.util.Scanner; - -public class zy07 { - public static void main(String[] args) { - //在主函数中接收10个数存入数组, - int[] arr = new int[10]; - Scanner sc = new Scanner(System.in); - for (int i = 0; i < arr.length; i++) { - System.out.println("请输入第" + (i+1) + "个数"); - arr[i] = sc.nextInt(); - } - //在自定义函数中,将该数组中的最大值与第一个元素交换,最小值与最后一个元素交换,然后在主函数中输出交换后的数组 - Exchange(arr); - } - - //最大值 - public static int methodMax(int[] arr){ - int max = arr[0]; - int index = 0; - for (int i = 1; i < arr.length; i++) { - if (max < arr[i]){ - index = i; - } - } - return index; - } - //最小值 - public static int methodMin(int[] arr){ - int min = arr[0]; - int index = 0; - for (int i = 1; i < arr.length; i++) { - if (min > arr[i]){ - index = i; - } - } - return index; - } - //交换数组 - public static void Exchange(int[] arr){ - int temp = arr[0]; - arr[0] = arr[methodMax(arr)]; - arr[methodMax(arr)] = temp; - temp = arr[9]; - arr[9] = arr[methodMin(arr)]; - arr[methodMin(arr)] = temp; - - for (int i = 0; i < arr.length; i++) { - System.out.println(arr[i]); - } - } -} - -~~~ - -~~~java -package text.homework; - -import java.util.Scanner; - -public class zy08 { - public static void main(String[] args) { - //用自定义函数是实现求某数组元素的和(大小不固定) - Scanner sc = new Scanner(System.in); - System.out.println("请输入数组的大小"); - int len = sc.nextInt(); - //定义数组 - int[] arr = new int[len]; - - //存数据 - System.out.println("请输入数存入数组"); - for (int i = 0; i < arr.length; i++) { - System.out.println("请输入第" + (i+1) + "个数"); - arr[i] = sc.nextInt(); - } - - System.out.println("该数组的和为" + number(arr)); - } - - //求和方法 - public static int number(int[] arr){ - int sum = arr[0]; - for (int i = 1; i < arr.length; i++) { - sum += arr[i]; - } - return sum; - } -} -~~~ - -~~~java -package text.homework; - -import java.util.Scanner; - -public class zy09 { - public static void main(String[] args) { - //用户输入整数n,计算1!+(1!+2!)+(1!+2!+3!)+…..+(1!+2!+…n!) - System.out.println("请输入整数"); - int num = new Scanner(System.in).nextInt(); - int[] arr = new int[num+1]; - int result = 0; - for (int i = 1; i <= num; i++) { - result += method(i); - arr[i] = result; - } - int sum = arr[0]; - for (int i = 1; i < arr.length; i++) { - sum += arr[i]; - } - System.out.println("结果为" + sum); - } - - //阶乘 - public static int method(int num){ - int number = 1; - for (int i = 1; i <= num; i++) { - number *= i; - } - return number; - } -} -~~~ - diff --git "a/24 \351\231\210\344\277\212\345\223\262/20221222 \345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" "b/24 \351\231\210\344\277\212\345\223\262/20221222 \345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..377cc331e87ccabf92f86dd29e0ecb9b6c83a706 --- /dev/null +++ "b/24 \351\231\210\344\277\212\345\223\262/20221222 \345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" @@ -0,0 +1,252 @@ +~~~java +//创建学生面向对象 +package project.studentSystem; + +public class Student { + // id name age address + private String id; + private String name; + private int age; + private String address; + + public Student() { + } + + public Student(String id, String name, int age, String address) { + this.id = id; + this.name = name; + this.age = age; + this.address = address; + } + + 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 String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } +} +~~~ + +~~~java +//主程序 +package project.studentSystem; + +import java.util.ArrayList; +import java.util.Scanner; + +public class StudentSystem { + public static void main(String[] args) { + ArrayList list = new ArrayList<>(); + 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("请输入您的选择"); + + //键盘录入 + Scanner sc = new Scanner(System.in); + String choose = sc.next(); + + switch (choose){ + case "1" -> addStudent(list); +// System.out.println("添加学生"); + + case "2" -> delStudent(list); +// System.out.println("删除学生"); + + case "3" -> updateStudent(list); +// System.out.println("修改学生"); + + case "4" ->queryStudent(list); +// System.out.println("查询学生"); + + case "5" -> { + System.out.println("退出"); +// break loop; + System.exit(0);//停止虚拟机运行(所有代码全部结束) + } + default -> System.out.println("没有这个选项"); + } + } + } + + + //添加学生 + //添加功能: + //键盘录入每一位学生信息并添加,需要满足ID唯一。 + public static void addStudent(ArrayList list){ + Scanner sc = new Scanner(System.in); + Student s = new Student(); + + System.out.println("请输入学生的ID:"); + String id = null; + while (true) { + id = sc.next(); + boolean flag = contains(list, id); + if (flag){ + //表示ID已经存在 + System.out.println("id已存在,请重新录入"); + + }else { + s.setId(id); + break; + } + } + + System.out.println("请输入学生的姓名:"); + String name = sc.next(); + s.setName(name); + + System.out.println("请输入学生的年龄:"); + int age = sc.nextInt(); + s.setAge(age); + + System.out.println("请输入学生的家庭住址:"); + String address = sc.next(); + s.setAddress(address); + + //将学生对象数据添加到集合 + list.add(s); + + //提示用户是否添加成功 + + } + + //删除学生 + //删除功能: + //键盘录入要删除的学生的ID + //需求:id存在,删除id。id不存在,提示不存在,并回到初始菜单。 + public static void delStudent(ArrayList list){ + Scanner sc = new Scanner(System.in); + System.out.println("请输入要删除的学生的id"); + String id = sc.next(); + //查询id在集合中的索引 + int index = getIndex(list, id); + //对index进行判断 + //如果等于-1,表示不存在,结束方法,返回初始菜单。 + if (index >= 0){ + //如果大于等于零,表示存在,直接删除 + list.remove(index); + System.out.println("id为:"+ id + "的学生删除成功"); + }else { + System.out.println("id不存在,删除失败"); + } + + } + + //修改学生 + //修改功能: + //键盘录入要修改的学生的ID + //需求:id存在,修改信息。id不存在,提示不存在,并回到初始菜单。 + public static void updateStudent(ArrayList list){ + Scanner sc = new Scanner(System.in); + System.out.println("请输入要修改学生的ID"); + String id = sc.next(); + int index = getIndex(list, id); + if (index == -1){ + System.out.println("要修改的id:" + id + "不存在,请重新输入"); + return; + } + + //当代码执行到这里,表示当前id存在 + //获取要修改id的学生对象 + Student stu = list.get(index); + + //输入修改信息 + System.out.println("请输入要修改的学生姓名"); + String newName = sc.next(); + stu.setName(newName); + + System.out.println("请输入要修改的学生年龄"); + int newAge = sc.nextInt(); + stu.setAge(newAge); + + System.out.println("请输入要修改的学生的家庭住址"); + String newAddress = sc.next(); + stu.setAddress(newAddress); + + System.out.println("学生信息修改成功"); + } + + //查询学生 + public static void queryStudent(ArrayList list){ + if (list.size() == 0) { + System.out.println("当前无学生信息,请添加后查询"); + //结束方法 + return; + } + //打印表头信息 + System.out.println("id\t\t姓名\t年龄\t家庭住址"); + //当代码执行到这,代表集合中是有数据的 + for (int i = 0; i < list.size(); i++) { + Student stu = list.get(i); + System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress()); + } + } + + //判断id在集合中是否存在 + public static boolean contains(ArrayList list,String id){ +/* //循环遍历集合得到里面的每一个学生对象 + for (int i = 0; i < list.size(); i++) { + Student stu = list.get(i); + String sid = stu.getId(); + //拿到学生对象后,获取id并进行判断 + if (sid.equals(id)){ + //存在 true + return true; + } + } + //不存在 false + return false;*/ + return getIndex(list,id) >= 0; + } + + //通过id获取索引的方法 + public static int getIndex(ArrayList list,String id){ + //遍历集合 + for (int i = 0; i < list.size(); i++) { + //得到每一个学生对象 + Student stu = list.get(i); + //得到每一个学生对象的id + String sid = stu.getId(); + //拿着集合中的学生id跟要查询的id进行比较 + if (sid.equals(id)){ + //一样,返回索引 + return i; + } + } + //不存在的索引 + return -1; + } +} +~~~ +