声明GoodFriend类,继承Person类,增加电话号码和关系等信息,成员方法包括设置电话号码、关系等操作。
简单版:
// Person类
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
// GoodFriend类,继承自Person类
class GoodFriend extends Person {
private String phoneNumber;
private String relationship;
public GoodFriend(String name, int age) {
super(name, age);
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public void setRelationship(String relationship) {
this.relationship = relationship;
}
public String getPhoneNumber() {
return phoneNumber;
}
public String getRelationship() {
return relationship;
}
}
// 示例用法
public class Main {
public static void main(String[] args) {
// 创建GoodFriend对象
GoodFriend friend = new GoodFriend("Alice", 25);
// 设置电话号码和关系
friend.setPhoneNumber("123456789");
friend.setRelationship("Close friend");
// 获取信息
String name = friend.getName();
int age = friend.getAge();
String phoneNumber = friend.getPhoneNumber();
String relationship = friend.getRelationship();
// 输出信息
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Phone Number: " + phoneNumber);
System.out.println("Relationship: " + relationship);
}
}
完善版:
import java.util.Scanner;
import java.util.ArrayList;
class Person {
// Person类的创建
private String name;
private char xin;
public String getName() {
return this.name;
}
public char getXin() {
return this.xin;
}
public void setName(String name) {
this.name = name;
}
public void setXin(char xin) {
this.xin = xin;
}
}
// Person类的创建终
class GoodFriend extends Person {
private String ophen;
private String friend;
public String getOphen() {
return this.ophen;
}
public void setOphen(String ophen) {
this.ophen = ophen;
}
public String getFriend() {
return this.friend;
}
public void setFriend(String friend) {
this.friend = friend;
}
public void friend(ArrayList<GoodFriend> friend_arr, int x, int y) {
GoodFriend a=friend_arr.get(x);
GoodFriend b=friend_arr.get(y);
if(a.getFriend().equals(b.getName())){
if(b.getFriend().equals(a.getName())){
System.out.println(a.getName()+"和"+b.getName()+"的关系是朋友");
main01(friend_arr);
}else{
System.out.println(a.getName()+"和"+b.getName()+"不是朋友关系");
main01(friend_arr);
}
}else{
System.out.println(a.getName()+"和"+b.getName()+"不是朋友关系");
main01(friend_arr);
}
}
public void output() {
System.out.print(getName() + "\t");
System.out.print(getXin() + "\t");
System.out.print(getOphen() + "\t");
System.out.print(getFriend()+ "\t");
System.out.println();
}
public static void input(ArrayList<GoodFriend> friend_arr) {
Scanner scan = new Scanner(System.in);
int i = 1;
System.out.println("**********欢迎注册**********");
lablo:
while (true) {
GoodFriend p = new GoodFriend();
System.out.print("输入姓名:");
String name = scan.next();
p.setName(name);
System.out.print("输入 " + name + " 的性别:");
char xin = scan.next().charAt(0);
p.setXin(xin);
System.out.print("输入 " + name + " 的电话号码:");
String ophen = scan.next();
p.setOphen(ophen);
System.out.print("输入 " + name + " 的好朋友名:");
String friend = scan.next();
p.setFriend(friend);
friend_arr.add(p);
if (friend_arr.size() == i) {
System.out.println("提示: 第" + i + "个人注册成功!!");
} else {
System.out.println("提示: " + name + "未能成功注册");
}
leblo:
while(true){
System.out.println("是否继续注册?请输入是或者否");
String str = scan.next();
if (str.equals("否")) {
break lablo;
} else if (str.equals("是")){
i++;
System.out.println("第 " + i + " 个开始注册");
break leblo;
}
else{
System.out.println("提示: 输入有误!!请重新输入!!");
}
}
}
}
public static void main01(ArrayList<GoodFriend> friend_arr){
Scanner scan = new Scanner(System.in);
System.out.println("*********已注册的信息**********");
System.out.println("\n"+"编号"+"\t"+"姓名"+"\t"+"性别");
for (int i = 0; i < friend_arr.size(); i++) {
GoodFriend p1 = friend_arr.get(i);
System.out.println(i + "\t" + p1.getName() + "\t" + p1.getXin());
}
while (true){
System.out.println("---------------查询---------------");
System.out.println("【1】查看所有详细信息");
System.out.println("【2】查看朋友关系");
System.out.println("【3】退出");
System.out.print("请选择:");
while(true){
int number = scan.nextInt();
switch (number) {
case 1:
for(int j =0;j<friend_arr.size();j++){
GoodFriend p1 = friend_arr.get(j);
p1.output();
}
break;
case 2:
if (friend_arr.size() > 1) {
System.out.println("提示: 请选择想查看关系的信息的编号。");
System.out.print("请输入编号:");
int x = scan.nextInt();
System.out.print("请输入编号:");
int y = scan.nextInt();
GoodFriend p2 = new GoodFriend();
p2.friend(friend_arr,x, y);
} else {
System.out.println("提示: 当前注册信息只有" + friend_arr.size() + "不符合查看关系的条件!!");
}
case 3:
System.exit(0);
default:
System.out.println("提示: 选择有误请选择!!");
}
}
}
}
public static void main(String[] args) {
ArrayList<GoodFriend> friend_arr = new ArrayList<>();
input(friend_arr);
main01(friend_arr);
}
}