#使用 HashSet方法写一个简易美女选妃程序,功能包括—添加,查询,修改,.删除,打印,退出,代码实现如下:
首先添加一个类Beauty
package Day3;
import java.util.Objects;
public class Beauty {
int id,age;
String name;
public Beauty(int id, int age, String name) {
this.id = id;
this.age = age;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Beauty{" +
"id=" + id +
", age=" + age +
", name='" + name + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Beauty beauty = (Beauty) o;
return id == beauty.id &&
age == beauty.age &&
Objects.equals(name, beauty.name);
}
@Override
public int hashCode() {
return Objects.hash(id, age, name);
}
}
然后是main方法的实现
package Day3;
import java.awt.List;
import java.lang.reflect.WildcardType;
import java.util.*;
public class getBeauty {
public static void main(String[] args) {
HashSet<Beauty> list=new HashSet<>();
Scanner sc=new Scanner(System.in);
System.out.println("*********选妃********");
while(true){
System.out.println("**1.添加**2.查询**3.修改**4.删除**5.打印**6.退出**");
int n=sc.nextInt();
if(n==1){//添加
System.out.print("编号:");
int num=sc.nextInt();
System.out.print("姓名:");
String name=sc.next();
System.out.print("年龄:");
int age=sc.nextInt();
Beauty beauty=new Beauty(num,age,name);
list.add(beauty);
}
else if(n==2){//查询
boolean flag=false;
System.out.print("要查找的编号:");
int num=sc.nextInt();
for (Beauty beauty:list){
if(num==beauty.getId()){
flag=true;
System.out.println(beauty);
break;
}
}
if(flag==true) System.out.println("查询成功");
else System.out.println("编号不存在");
}
else if(n==3) {//修改
boolean flag=false;
System.out.print("请输入编号:");
int num=sc.nextInt();
for (Beauty beauty:list){
if(num==beauty.getId()){
System.out.println(beauty);
System.out.print("修改名字为:");
String name=sc.next();
beauty.setName(name);
System.out.print("修改年龄为:");
int age=sc.nextInt();
beauty.setAge(age);
//System.out.println("修改成功!");
flag=true;
for (Beauty beautyC:list){
System.out.println(beautyC);}
break;
}
} if(flag==true) System.out.println("修改成功");
else System.out.println("编号不存在");
}
else if(n==4){//删除
for (Beauty beautyD:list){
System.out.println(beautyD);}
boolean flag=false;
System.out.print("请输入要删的编号:");
int num=sc.nextInt();
for (Beauty beauty:list){
if(num==beauty.getId()){
list.remove(beauty);
flag=true;
break;
}
}
if(flag==true) System.out.println("删除成功");
else System.out.println("编号不存在");
for (Beauty beautyD:list){
System.out.println(beautyD);
}
}
else if(n==5){//打印
System.out.println("当前入选美女有:");
for (Beauty beautyP:list){
System.out.println(beautyP);
}
}
else if(n==6){
System.out.println("end");
sc.close();
break;
}
else System.out.println("请重新输入");
}
sc.close();//关闭输入流
}
}
运行部分结果如图: