java的普通增删改查
三个类
1、Student类:对属性进行封装
2、 Method: 这个Method类进行功能设计,也就是增删查改
3、Test: 这个类是测试类Test,进行页面设计和测试
package student;
public class Student {
private int id; //定义学号
private String name; //姓名
private int age; //年龄
private String sex; //性别
/*
* 对属性进行封装:
* 1、为什么要用到封装?
* 我的理解是,属性定义在类中,属性在外面,公开别人就能看的见你的所有信息。
* 有了封装之后,就能把重要的东西给隐藏起来,把能看见的共享出去。
* 封装面向属性更安全,把私有的属性都保护起来,不让别人修改内部的消息,不让别人去访问内部的消息。
* 在java中用的是get()【得到的意思】,set()【设置替换的意思】方法,属性私有化用关键字private
* 就比如一个人在大马路上睡觉,他就会有风吹雨打各种情况,而如果他在房子里的床上睡觉,就可以睡的安稳。
* 2、快速生成get(),set()方法
* 步骤一:在声明的类中,单击鼠标右键,选择source
* 步骤二:选择Generate Getters and Setters
* 步骤三:根据需要配置
*/
public Student(){
}
public Student(String name,int age ,int id,String sex){
this.name=name;
this.age=age;
this.id=id;
this.sex=sex;
}
public int getId() {
return id;
}
public void setId(int 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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
package student;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 这个Method类进行功能设计,也就是增删查改
*/
public class Method {
public void add(ArrayList<Student> array) { // 增加
Scanner scanner = new Scanner(System.in);
int id;// 为了让id能够访问到,把它放在循环的外面
while (true) {
System.out.println("开始添加,请输入你要添加的学生学号:");
id = scanner.nextInt();
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getId() == id) {
flag = true;
break;
}
}
if (flag) {
System.out.println("已存在该学号,请输入另一个学号。");
} else {
break;
}
}
System.out.println("请输入你要添加的学生姓名:");
String name = scanner.next();
System.out.println("请输入你要添加的学生年龄:");
int age = scanner.nextInt();
System.out.println("请输入你要添加的学生性别:");
String sex = scanner.next();
Student s = new Student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setSex(sex);
array.add(s);
System.out.println("添加成功");
}
public void delete(ArrayList<Student> array) { // 删除
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
int id = sc.nextInt();
int index =-1;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getId()==id){
index=i;
break;
}
}
if (index==-1){
System.out.println("该信息不存在,请重新输入!");
}else{
array.remove(index);
System.out.println("删除成功!");
}
}
public void lookup(ArrayList<Student> array) { // 查找
if (array.size() == 0) {
System.out.println("无学生信息可以查询,你可以先添加学生信息");
return;
}
// \t就是tab键的位置
System.out.println("学号\t姓名\t年龄\t所属地");
for (int i = 0; i < array.size(); i++) {
Student st = array.get(i);
System.out.println(st.getId() + "\t" + st.getName() + "\t"
+ st.getAge() + "岁\t" + st.getSex());
}
System.out.println("学生的信息已显示完毕");
}
public void revise(ArrayList<Student> array) { // 修改
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
int id = sc.nextInt();
int index =-1;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getId()==id){
index=i;
break;
}
}
if (index==-1) {
System.out.println("不好意思,没有你要修改的学号,请再次输入");
}
else{
System.out.println("请输入新的学生姓名:");
String name = sc.next();
System.out.println("请输入新的学生年龄:");
int age = sc.nextInt();
System.out.println("请输入新的学生性别:");
String sex = sc.next();
Student s = new Student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setSex(sex);
array.set(index, s);
System.out.println("修改成功!");
}
}
}
package student;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 这个类是测试类Test
* 进行页面设计和测试
*/
public class Test {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
// ArrayList ,指定存放对象的类型,需要把对象的类型标注在尖括号内,jdk1.8以后,可以省略不写
while (true) {
System.out.println("---------欢迎进入学生管理系统---------");
System.out.println(" 1、增加学生的信息");
System.out.println(" 2、删除学生的信息");
System.out.println(" 3、查找学生的信息");
System.out.println(" 4、修改学生的信息");
System.out.println(" 0、退出");
System.out.println("请输入你的指令:");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
Method method = new Method();
switch (a) {
case 0: {
System.out.println("你已经退出系统了");
System.exit(a);
}
case 1: {
method.add(array);
break;
}
case 2: {
method.delete(array);
break;
}
case 3: {
method.lookup(array);
break;
}
case 4: {
method.revise(array);
break;
}
default:
System.out.println("输入的指令不符,请你仔细查看功能再进行输入");
break;
}
}
}
}