主要的结构如下:
主要的界面效果:
代码如下:
package cn.xiaov.homework;
public class Person {
private String name;
private String idCard;
private int gender; //0为女,1为男
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getGender() {
if (gender==1){
return "男";
}else if (gender==0){
return "女";
}else{
return null;
}
}
public void setGender(int gender) {
this.gender = gender;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return name+"\t"+idCard+"\t"+getGender()+"\t"+address;
}
}
package cn.xiaov.homework;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Demo3_Big {
public static void main(String[] args) {
MainForm();
}
public static void MainForm() {
List<Person> list = new ArrayList<>();
boolean flag=true;
while (flag) {
System.out.println();
System.out.println();
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 input = new Scanner(System.in);
int select = input.nextInt();
switch (select) {
case 1:
add(list);//增加
break;
case 2:
findAll(list);//查询
break;
case 3:
update(list);//修改
break;
case 4:
delete(list);//删除
break;
case 5:
System.out.println("欢迎下次使用!!!");
flag=false;
break;
default:
System.out.println("请输入有效数字(1-5)!");
break;
}
}
}
/**
* 添加数据
* @param list
*/
public static void add(List<Person> list) {
Person p = new Person();
System.out.println("开始录入公民信息:");
Scanner input = new Scanner(System.in);
System.out.println("(1)请输入姓名:");
String name = input.next();
p.setName(name);
System.out.println("(2)请输入身份证号:");
String idCard = input.next();
p.setIdCard(idCard);
System.out.println("(3)请输入性别(0为女,1为男):");
int gender = input.nextInt();
p.setGender(gender);
System.out.println("(4)请输入地址:");
String address = input.next();
p.setAddress(address);
list.add(p);
}
/**
* 查询数据
* @param list
*/
public static void findAll(List<Person> list) {
System.out.println("所有人的信息如下:");
list.forEach(o->{
System.out.println(o);
});
}
/**
* 删除数据
* @param list
*/
public static void delete(List<Person> list){
System.out.println("开始信息删除:");
System.out.println("请输入需要删除的身份证号:");
Scanner input = new Scanner(System.in);
String idCard = input.next();
1//比较
for (var person :
list) {
if (person.getIdCard().equals(idCard)) {
list.remove(person);
System.out.println("删除成功");
break;
}
}
}
/**
*修改信息
*/
public static void update(List<Person> list){
System.out.println("开始修改公民信息:");
System.out.println("请输入要修改人的身份证号:");
Scanner input = new Scanner(System.in);
String idCard = input.next();
boolean flag=true;
for (int i=0; i < list.size(); i++) {
if (list.get(i).getIdCard().equals(idCard)){
Person p = new Person();
System.out.println("请输入姓名:");
String name = input.next();
p.setName(name);
//直接将身份证号码放进去
p.setIdCard(idCard);
System.out.println("请输入性别(0为女,1为男):");
int gender = input.nextInt();
p.setGender(gender);
System.out.println("请输入地址:");
String address = input.next();
p.setAddress(address);
list.set(i,p);
flag=false;
}
}
if (flag){
System.out.println("身份证号不存在!");
}
}
}