diff --git "a/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/2022-12-24 \347\261\273\344\270\216\345\257\271\350\261\241 .md" "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/2022-12-24 \347\261\273\344\270\216\345\257\271\350\261\241 .md" new file mode 100644 index 0000000000000000000000000000000000000000..53956510a691aa7e782c92bb58e4c124a829dac8 --- /dev/null +++ "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/2022-12-24 \347\261\273\344\270\216\345\257\271\350\261\241 .md" @@ -0,0 +1,73 @@ +# 类与对象 + +类是Java中最重要的数据类型。类的目的是抽象出一类事物的共有属性和行为,即抽象出数据以及数据上所进行的操作 + +类的类体由两部分组成: + +(1)变量的声明 + +(2)方法的定义 + +构造方法用于创建对象,其中方法名与类名相同,其他的方法供该类创建的对象调用 + +构造方法包括: + +(1)方法名 + +(2)类名 + +(3)无类型 + +抽象的目的是产生类,而类的目的是创建具有属性和行为的对象。使用new运算符和类的构造方法为声明的对象分配变量,即创建对象,对象不仅可以操作自己的变量改变现状,而且能调用类中的方法产生一定的行为 + +Java以类为“基本单位”,即一个Java程序就是由若干个类构成,一个Java程序可以将它使用的各个类分别存放在不同的源文件中,也可以将它使用的类放在一个源文件中 + +![img](clip_image001-1671888029728.png) + +类的成员变量可以是某个类的对象 + +类的两种基本的成员:变量和方法 + +变量:用来刻画对象的属性 + +方法:用来体现对象的行为 + +成员变量:用来刻画类创建的对象的属性 + +成员变量分为两部分{实例变量、(静态变量、类变量)} + +实例变量:和对象相关联的变量 + +类变量:与类相关联的变量 + + + +不同对象的实例变量分配到不同的内存空间,类变量分配到同一处内存空间 + +方法是类体的重要成员之一,构造方法是具有特殊地位的方法,供类创建对象时使用,用来给出类所创建的初始化状态,类所创建的对象可以调用这些方法形成一定的算法,体现对象具有某种行为 + +实例方法可操作实例成员变量和静态成员变量,静态方法只能操作静态成员变量 + +![img](clip_image001.png) + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/2022-12-24 \347\273\247\346\211\277\344\270\216\346\216\245\345\217\243.md" "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/2022-12-24 \347\273\247\346\211\277\344\270\216\346\216\245\345\217\243.md" new file mode 100644 index 0000000000000000000000000000000000000000..453f042dc4d6851fa3bb419b5759e92339789e19 --- /dev/null +++ "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/2022-12-24 \347\273\247\346\211\277\344\270\216\346\216\245\345\217\243.md" @@ -0,0 +1,195 @@ +# 继承与接口 + +由继承而得到的类称为子类,被继承的类称为父类(超类),Java不支持多重继承,即子类只有一个父类 + +子类和父类在同一个包中,子类自然地继承了父类中不是private的成员变量作为子类的成员变量,并且也自然的继承了父类中不是private的方法作为子类的方法。继承的成员变量或方法的访问权限保持不变 + +子类和父类不在同一个包中,父类中的private和方法访问权限的成员变量不会被子类继承 + +子类声明的成员变量的名字和从父类继承来的成员变量的名字相同时,将隐藏掉所有继承的成员变量 + +方法重写:子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类完全相同 + +子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量,重写的方法无法操作被子类隐藏的成员变量和方法 + +```java +public class people { + + protected String like; + public void speaklike () { + System.out.println("yayayaya"); + } + public void averagelike () { + like = "编程"; + System.out.println("averagelike:" + like); + } +} + class chinesepeople extends people{ + public void speaklike(){ + System.out.println("谢谢"); + } + public void averagelike(){ + like = "游戏"; + System.out.println("喜欢:"+like); + } + public void chinalike(){ + System.out.println("他很喜欢"); + } + + public static void main(String[] args) { + people people = new people(); + chinesepeople chinesepeople = new chinesepeople(); + people.speaklike(); + people.averagelike(); + chinesepeople.speaklike(); + chinesepeople.averagelike(); + chinesepeople.chinalike(); + } +} +``` + + + +子类一旦隐藏了继承的成员变量,子类创建的对象就不再拥有该变量,该变量将归关键字super所拥有,同样子类一旦重写了继承方法,就覆盖(隐藏)了继承的方法,子类创建的对象就不能调用被覆盖(隐藏)的方法,该方法的调用由关键字super负责 + +在子类中想要使用隐藏的成员变量或覆盖的方法就要使用super关键字 + +super.x、super.play()就是访问和调用被子类隐藏的成员变量x和方法play() + +```java +public class bank{ + int money; + int year; + double interest; + double getInterest = 0.3; + public double computerInterest(){ + interest = year * getInterest * money; + return interest; + } + public void setInterest(double rest){ + getInterest = rest; + } + public static class Constructionban extends bank{ + double year; + + public double computerInterest(){ + super.year = (int) year; + double r = year - (int) year; + int day = (int) (r * 1500); + double yearInterest = super.computerInterest(); + double dayInterest = day * 0.01 * money; + System.out.println("%d元在农商银行%d年零%天的利息:%f元\n"+money + +super.year+day+interest); + return interest; + } + } + public static class bankof extends bank { + double year; + + public double computerInterest() { + super.year = (int) year; + double r = year - (int) year; + int day = (int) (r * 1500); + double yearInterest = super.computerInterest(); + double dayInterest = day * 0.012 * money; + System.out.println("%d元在农业银行%d年零%天的利息:%f元\n" + money + + super.year + day + interest); + return interest; + } + } +} +``` + +```java +public class Money { + public static void main(String[] args) { + int a = 9000; + bank.Constructionban bank = new bank.Constructionban(); + bank.money = a; + bank.year = 8.2; + bank.setInterest(0.03); + double interest = bank.computerInterest(); + bank.bankof bankof = new bank.bankof(); + bankof.year = 8.2; + bankof.setInterest(0.03); + double interest2 = bankof.computerInterest(); + System.out.println("两个银行利息相差%f元\n" + (interest - interest2)); + } +} +``` + +```注意 +当super调用被隐藏的方法时,该方法中出现的成员变量被子类隐藏的成员变量或继承的成员变量 + +子类不继承父类的构造方法,子类在其构造方法中需要使用super来调用父类的构造方法,而且super必须是子类构造方法中的头一条语句 + +在子类的构造方法中,没有明显地写出super关键字来调用父类的某个构造方法,默认有"super();",类中定义多个构造方法时,建议包括一个不带参数的构造方法,以便子类可以省略"super();" +``` + + + +B类是A类的子类或间接子类,当用子类B创建一个对象,并把这个对象的引用放到A类声明的对象中 + +```java +public abstract class rf{ + public abstract double getarea(); +} + + class totarea{ + private static Cir[] ret; + rf[] rfs; + double totarea = 0; + public void setTotarea(rf[]rfs1){ + rfs = rfs1; + } + public double computertotarea(){ + + return totarea; + } + class ret extends rf{ + + @Override + public double getarea() { + return 0; + } + double a ,b; + ret(double a,double b){ + this.a = a; + this.b = b; + } + } + static class Cir extends rf{ + + public Cir(int r) { + super(); + } + + @Override + public double getarea() { + return getarea(); + } + double r; + Cir(double r, int i){ + this.r = r; + } + } + + public static void main(String[] args) { + rf [] rfs = new rf[40]; + for(int i = 0; i < rfs.length ; i++){ + if(i % 3 == 0){ + rfs[i] = new Cir(20+i,63); + + } else if(i % 3 == 1){ + rfs[i] = new Cir(25+i); + } + } + totarea computer = new totarea(); + computer.setTotarea(rfs); + System.out.println("各种图形的面积之和为:\n%f"+computer.computertotarea()); + } +} +``` + + + diff --git "a/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/clip_image001-1671888029728.png" "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/clip_image001-1671888029728.png" new file mode 100644 index 0000000000000000000000000000000000000000..5065291a21dab272221cc1bfee08fdf9f9ea938e Binary files /dev/null and "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/clip_image001-1671888029728.png" differ diff --git "a/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/clip_image001.png" "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/clip_image001.png" new file mode 100644 index 0000000000000000000000000000000000000000..16ede36d5fdd48d91d475c92686f9934131e6175 Binary files /dev/null and "b/9\346\241\202\346\263\275\347\205\234/Java \351\235\242\345\220\221\345\257\271\350\261\241/clip_image001.png" differ diff --git "a/9\346\241\202\346\263\275\347\205\234/\344\277\256\346\224\271\350\277\207\347\232\204\345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" "b/9\346\241\202\346\263\275\347\205\234/\344\277\256\346\224\271\350\277\207\347\232\204\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..8eb2b0a34b39660c1d3206e5aa4dc72235dd997e --- /dev/null +++ "b/9\346\241\202\346\263\275\347\205\234/\344\277\256\346\224\271\350\277\207\347\232\204\345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" @@ -0,0 +1,300 @@ +【本周大作业】: +============================== +- 欢迎使用3班学生管理系统 - +- 1.浏览所有学生信息 - +- 2.添加学生信息 - +- 3.修改学生信息 - +- 4.删除学生信息 - +- 5.查询学生信息 - +- 6.退出管理系统 - + + 请输入对应的数字选择你需要的功能: + +```java +import java.util.ArrayList; +import java.util.Scanner; + + +public class Student { + // 学号 + private String sid; + // 姓名 + private String name; + + public Student() { + } + + public Student(String sid, String name) { + this.sid = sid; + this.name = name; + } + + public String getSid() { + return sid; + } + + public void setSid(String sid) { + this.sid = sid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + + public static void main(String[] args) { + //集合,参数 + ArrayList array = new ArrayList(); + while (true) { + System.out.println("\n==========================="); + System.out.println("-\t欢迎使用3班学生管理系统\t-"); + System.out.println("-\t1.浏览所有学生信息\t-"); + System.out.println("-\t2.添加学生信息\t-"); + System.out.println("-\t3.修改学生信息\t-"); + System.out.println("-\t4.删除学生信息\t-"); + System.out.println("-\t5.查询学生信息\t-"); + System.out.println("-\t6.退出管理系统\t-"); + System.out.println("==========================="); + System.out.println("请输入对应数字选择你需要的功能:"); + Scanner scanner = new Scanner(System.in); + String number = scanner.next(); + switch (number) { + case "1": + System.out.println("所有学生信息"); + everyone(array); + break; + case "2": + System.out.println("添加学生信息"); + addstudent(array); + break; + case "3": + System.out.println("修改学生信息"); + updatestudent(array); + break; + case "4": + System.out.println("删除学生信息"); + deletestudent(array); + break; + case "5": + System.out.println("查询学生信息"); + findstudent(array); + break; + case "6": + System.out.println("感谢使用!"); + System.exit(0); + } + } + } + + public static int everyone(ArrayList array) { + if (array.size() == 0) { + System.out.println("没有数据!"); + return 0; + } + + System.out.println("学号\t\t姓名"); + for (int i = 0; i < array.size(); i++) { + Student sc = array.get(i); + System.out.println(sc.getSid() + "\t\t" + sc.getName()); + } + return 0; + } + + // 添加学生信息 + public static void addstudent(ArrayList array) { + Scanner scanner = new Scanner(System.in); + System.out.println("请输入学号:"); + String sid = scanner.next(); + System.out.println("请输入学生姓名"); + String name = scanner.next(); + Student st = new Student(); + st.setSid(sid); + st.setName(name); + array.add(st); + System.out.println("添加成功!"); + } + + // 修改学生信息 + public static void updatestudent(ArrayList array) { + Scanner scanner = new Scanner(System.in); + System.out.println("请输入修改的学号"); + String sid = scanner.next(); + System.out.println("请输入修改的姓名"); + String name = scanner.next(); + Student student = new Student(); + student.setSid(sid); + student.setName(name); + for (int i = 0; i < array.size(); i++) { + array.get(i); + if (student.getSid().equals(sid)) { + array.set(i, student); + break; + } + } + System.out.println("修改成功!"); + } + + // 删除学生信息 + public static void deletestudent(ArrayList array) { + Scanner scanner = new Scanner(System.in); + System.out.println("请输入要删除的学生的学号:"); + String sid = scanner.next(); + for (int i = 0; i < array.size(); i++) { + Student student = array.get(i); + if (student.getSid().equals(sid)) { + array.remove(i); + break; + } + } + System.out.println("删除成功!"); + } + + // 查询学生信息 + public static void findstudent(ArrayList array) { + Scanner scanner = new Scanner(System.in); + System.out.println("请输入需要查询的学生学号"); + String sid = scanner.next(); + System.out.println("请输入需要查询的姓名"); + String name = scanner.next(); + int count = 0; + for(int i =0; i < array.size();i++){ + Student student = array.get(i); + if (student.getSid().equals(sid)) { + count++; + } + System.out.println("在第"+(count+1)+"个位置"); + } + } +} +``` + +```java +import java.util.Scanner; +public class Student1 { + static Scanner scanner = new Scanner(System.in); + static String[] student = new String[10]; + + public static void main(String[] args) { + student[0] = "张三"; + student[1] = "李四"; + while (true) { + getInstance(); + String number = getnum(scanner.next()); + if( number =="0"){ + break; + } + } + } + public static void getInstance () { + System.out.println("\n==========================="); + System.out.println("-\t欢迎使用3班学生管理系统\t-"); + System.out.println("-\t1.浏览所有学生信息\t-"); + System.out.println("-\t2.添加学生信息\t-"); + System.out.println("-\t3.修改学生信息\t-"); + System.out.println("-\t4.删除学生信息\t-"); + System.out.println("-\t5.查询学生信息\t-"); + System.out.println("-\t6.退出管理系统\t-"); + System.out.println("==========================="); + System.out.println("请输入对应数字选择你需要的功能:"); + } + public static String getnum (String number) { + switch (number) { + case "1": + System.out.println("所有学生信息"); + allStudent1(); + break; + case "2": + System.out.println("添加学生信息"); + addStudent1(); + break; + case "3": + System.out.println("修改学生信息"); + updateStudent1(); + break; + case "4": + System.out.println("删除学生信息"); + deleteStudnt1(); + break; + case "5": + System.out.println("查询学生信息"); + findStudent1(); + break; + case "6": + System.out.println("感谢使用!"); + number = "0"; + break; + + } + return number; + } + // 所有学生 + public static void allStudent1 () { + if (student[0] == null) { + System.out.println("没有数据"); + } + for (int i = 0; i < student.length; i++) { + if (student[i] != null) { + System.out.print(student[i] + "\t\t"); + } + } + } + // 添加学生 + public static void addStudent1 () { + System.out.println("请输入需要添加的姓名"); + String name = scanner.next(); + int index = nullIndex(name); + int find = nullIndex(null); + student[find] = name; + System.out.println("添加成功"); + } +// 修改学生 + private static void updateStudent1 () { + System.out.println("请输入需要修改的姓名"); + String name = scanner.next(); + int index = nullIndex(name); + System.out.println("请输入新的姓名"); + name = scanner.next(); + student[index] = name; + System.out.println("修改成功"); + } +// 删除学生 + public static void deleteStudnt1 () { + System.out.println("请输入需要删除的姓名"); + String name = scanner.next(); + int index = nullIndex(name); + student[index] = null; + System.out.println("删除成功"); + } + // 查询学生 + private static void findStudent1 () { + System.out.println("请输入需要查询的姓名"); + String name = scanner.next(); + int index = nullIndex(name); + System.out.println("在第" + (index + 1) + "个位置"); + } + public static int nullIndex (String str){ + int index = -1; + if (str == null) { + for (int i = 0; i < student.length; i++) { + if (student[i] == null) { + index = i; + break; + } + } + } else { + for (int i = 0; i < student.length; i++) { + if (str.equals(student[i])) { + index = i; + break; + } + } + } + return index; + } +} +``` + diff --git "a/9\346\241\202\346\263\275\347\205\234/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" "b/9\346\241\202\346\263\275\347\205\234/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" index cb304067432fca129388ff6f5bc6cebc6a356534..2aa4acc0f7d77f3f59da7a6ea71980ad5f29d101 100644 --- "a/9\346\241\202\346\263\275\347\205\234/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" +++ "b/9\346\241\202\346\263\275\347\205\234/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" @@ -1,170 +1,336 @@ 【本周大作业】: ============================== -- 欢迎使用3班学生管理系统 - -- 1.浏览所有学生信息 - -- 2.添加学生信息 - -- 3.修改学生信息 - -- 4.删除学生信息 - -- 5.查询学生信息 - -- 6.退出管理系统 - + +- 欢迎使用图书管理系统 - +- 1.浏览所有图书信息 - +- 2.添加图书信息 - +- 3.修改图书信息 - +- 4.删除图书信息 - +- 5.查询图书信息 - +- 6.退出管理系统 - 请输入对应的数字选择你需要的功能: ```java - - -import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; import java.util.Scanner; +public class Book { + /** + 项目:图书管理系统 + 作者:... + 时间:2022.12.23 +**/ +// 图书编号 + private String bookid; +// 图书名称 + private String bookname; +// 图书类型 + private String type; +// 构造函数 + public Book() { + } -public class Student{ -// 学号 - private String sid; -// 姓名 - private String name; - - public Student() { + public Book(String bookid, String bookname, String type) { + this.bookid = bookid; + this.bookname = bookname; + this.type = type; } - public Student(String sid, String name) { - this.sid = sid; - this.name = name; + public String getBookid() { + return bookid; } - public String getSid() { - return sid; + public void setBookid(String bookid) { + this.bookid = bookid; } - public void setSid(String sid) { - this.sid = sid; + public String getBookname() { + return bookname; } - public String getName() { - return name; + public void setBookname(String bookname) { + this.bookname = bookname; } - public void setName(String name) { - this.name = name; + public String getType() { + return type; } + public void setType(String type) { + this.type = type; + } + //扫描器 + static Scanner scanner = new Scanner(System.in); + //集合,对象 + static List bookList = new LinkedList(); public static void main(String[] args) { - ArrayList array = new ArrayList(); - while(true){ + while (true) { + bookInstance(); + String number = booknum(scanner.next()); + if( number =="0"){ + break; + } + } + } +// 主界面 + private static void bookInstance() { System.out.println("\n==========================="); - System.out.println("-\t欢迎使用3班学生管理系统\t-"); - System.out.println("-\t1.浏览所有学生信息\t-"); - System.out.println("-\t2.添加学生信息\t-"); - System.out.println("-\t3.修改学生信息\t-"); - System.out.println("-\t4.删除学生信息\t-"); - System.out.println("-\t5.查询学生信息\t-"); + System.out.println("-\t欢迎使用图书管理系统\t-"); + System.out.println("-\t1.浏览所有图书信息\t-"); + System.out.println("-\t2.添加图书信息\t-"); + System.out.println("-\t3.修改图书信息\t-"); + System.out.println("-\t4.删除图书信息\t-"); + System.out.println("-\t5.查询图书信息\t-"); System.out.println("-\t6.退出管理系统\t-"); System.out.println("==========================="); System.out.println("请输入对应数字选择你需要的功能:"); - Scanner scanner = new Scanner(System.in); - String number = scanner.next(); - switch(number){ + } +// 选择 + private static String booknum(String number) { + switch (number) { case "1": - System.out.println("所有学生信息"); - everyone(array); + System.out.println("所有图书信息"); + allBook(bookList); break; case "2": - System.out.println("添加学生信息"); - addstudent(array); + System.out.println("添加图书信息"); + addBook(bookList); break; case "3": - System.out.println("修改学生信息"); - updatestudent(array); + System.out.println("修改图书信息"); + updateBook(bookList); break; case "4": - System.out.println("删除学生信息"); - deletestudent(array); + System.out.println("删除图书信息"); + deleteBook(bookList); break; case "5": - System.out.println("查询学生信息"); - findstudent(array); + System.out.println("查询图书信息"); + findBook(bookList); break; case "6": - System.out.println("感谢使用!"); - System.exit(0); - } + System.out.println("谢谢使用!"); + number = "0"; + break; + } + return number; } - public static void everyone(ArrayList array){ - if(array.size() ==0){ + // 所有图书信息 + private static void allBook(List bookList) { + if (bookList.size() == 0) { System.out.println("没有数据!"); - return ; + return; } - - System.out.println("学号\t姓名"); - for(int i = 0; i array){ - Scanner scanner = new Scanner(System.in); - System.out.println("请输入学号:"); - String sid = scanner.next(); - System.out.println("请输入学生姓名"); - String name = scanner.next(); - Student st = new Student(); - st.setSid(sid); - st.setName(name); - array.add(st); +// 添加图书信息 + private static void addBook(List bookList) { + System.out.println("请输入图书编号:"); + String bookid = scanner.next(); + System.out.println("请输入图书名称"); + String bookname = scanner.next(); + System.out.println("请输入图书类型"); + String booktype = scanner.next(); + Book book = new Book(); + book.setBookid(bookid); + book.setBookname(bookname); + book.setType(booktype); + bookList.add(book); System.out.println("添加成功!"); } -// 修改学生信息 - public static void updatestudent(ArrayList array) { - Scanner scanner = new Scanner(System.in); - System.out.println("请输入修改的学号"); - String sid = scanner.next(); - System.out.println("请输入修改的姓名"); - String name = scanner.next(); - Student student = new Student(); - student.setSid(sid); - student.setName(name); - for(int i = 0;i < array.size();i++){ - array.get(i); - if(student.getSid().equals(sid)){ - array.set(i,student); - break; - } +// 修改图书信息 + private static void updateBook(List bookList) { + System.out.println("请输入修改的图书编号"); + String bookid = scanner.next(); + System.out.println("请输入修改的图书名称"); + String bookname = scanner.next(); + System.out.println("请输入修改的图书类型"); + String booktype = scanner.next(); + Book book = new Book(); + book.setBookid(bookid); + book.setBookname(bookname); + book.setType(booktype); + for (int i = 0; i < bookList.size(); i++) { + bookList.get(i); + if (book.getBookid().equals(bookid)) { + bookList.set(i, book); + break; + } } System.out.println("修改成功!"); } -// 删除学生信息 - public static void deletestudent(ArrayList array){ - Scanner scanner = new Scanner(System.in); - System.out.println("请输入要删除的学生的学号:"); - String sid = scanner.next(); - for(int i =0; i< array.size();i++){ - Student student = array.get(i); - if(student.getSid().equals(sid)){ - array.remove(i); +// 删除图书信息 + private static void deleteBook(List bookList) { + System.out.println("请输入要删除的图书编号:"); + String bookid = scanner.next(); + for (int i = 0; i < bookList.size(); i++) { + Book book = bookList.get(i); + if (book.getBookid().equals(bookid)) { + bookList.remove(i); break; } } System.out.println("删除成功!"); } -// 查询学生信息 - public static void findstudent(ArrayList array) { - Scanner scanner = new Scanner(System.in); - System.out.println("请输入需要查询的学生学号"); - String sid = scanner.next(); - System.out.println("请输入需要查询的姓名"); - String name = scanner.next(); - Student student = new Student(); - student.setSid(sid); - student.setName(name); - for(int i = 0; i < array.size();i++){ - array.get(i); - if(student.getSid().equals(sid)){ - everyone(array); +// 查询图书信息 + private static void findBook(List bookList) { + System.out.println("请输入需要查询的图书编号"); + String booksid = scanner.next(); + System.out.println("请输入需要查询的图书名称"); + String bookname = scanner.next(); + System.out.println("请输入需要查询的图书类型"); + String booktype = scanner.next(); + int count = 0; + for(int i =0; i < bookList.size();i++){ + Book book = bookList.get(i); + if (book.getBookid().equals(booksid)) { + count++; + } + System.out.println("在第"+count+"个位置"); + } + } +} +``` + +```java +import java.util.Scanner; + +public class Book1 { + /** + 项目:图书管理系统 + 作者:... + 时间:2022.12.23 + **/ +// 扫描器 + static Scanner scanner = new Scanner(System.in); +// 十个字符串 + static String[] book = new String[10]; +// main方法 + public static void main(String[] args) { + book[0] = "Java面向对象"; + book[1] = "网络安全"; + while (true) { + Bookstart(); + String number = Booknum(scanner.next()); + if( number =="0"){ + break; + } + } + } +// 主界面 + private static void Bookstart() { + System.out.println("\n==========================="); + System.out.println("-\t欢迎使用图书管理系统\t-"); + System.out.println("-\t1.浏览所有图书信息\t-"); + System.out.println("-\t2.添加图书信息\t-"); + System.out.println("-\t3.修改图书信息\t-"); + System.out.println("-\t4.删除图书信息\t-"); + System.out.println("-\t5.查询图书信息\t-"); + System.out.println("-\t6.退出管理系统\t-"); + System.out.println("==========================="); + System.out.println("请输入对应数字选择你需要的功能:"); + } +// 选择 + private static String Booknum(String number) { + switch (number) { + case "1": + System.out.println("所有图书信息"); + allBook(); + break; + case "2": + System.out.println("添加图书信息"); + addBook(); + break; + case "3": + System.out.println("修改图书信息"); + updateBook(); + break; + case "4": + System.out.println("删除图书信息"); + deleteBook(); + break; + case "5": + System.out.println("查询图书信息"); + findStudent1(); + break; + case "6": + System.out.println("谢谢使用!"); + number = "0"; break; + + } + return number; + } + // 所有图书信息 + private static void allBook() { + if (book[0] == null) { + System.out.println("没有数据"); + } + for (int i = 0; i < book.length; i++) { + if (book[i] != null) { + System.out.print(book[i] + "\t\t"); + } + } + } + // 添加图书信息 + private static void addBook() { + System.out.println("请输入需要添加的图书名称"); + String bookname = scanner.next(); + int flag = flagIndex(bookname); + int bookfind = flagIndex(null); + book[bookfind] = bookname; + System.out.println("添加成功"); + } + // 修改图书信息 + private static void updateBook() { + System.out.println("请输入需要修改的图书名称"); + String bookname = scanner.next(); + int flag = flagIndex(bookname); + System.out.println("请输入新的图书名称"); + bookname = scanner.next(); + book[flag] = bookname; + System.out.println("修改成功"); + } + // 删除图书信息 + private static void deleteBook() { + System.out.println("请输入需要删除的图书名称"); + String name = scanner.next(); + int flag = flagIndex(name); + book[flag] = null; + System.out.println("删除成功"); + } + // 查询学生信息 + private static void findStudent1 () { + System.out.println("请输入需要查询的图书名称"); + String bookname = scanner.next(); + int flag = flagIndex(bookname); + System.out.println("在第" + (flag + 1) + "个位置"); + } + public static int flagIndex (String str){ + int flag = -1; + if (str == null) { + for (int i = 0; i < book.length; i++) { + if (book[i] == null) { + flag = i; + break; + } + } + } else { + for (int i = 0; i < book.length; i++) { + if (str.equals(book[i])) { + flag = i; + break; + } } - System.out.println("未找到该数据!"); } + return flag; } } ```