数组版电话本

来源:互联网 发布:linux系统的rpm包什么 编辑:程序博客网 时间:2024/06/12 01:50

java初学者,一点一点积累,有许多错误和不完善的地方,希望大佬指教

要求运用数组及面向对象相关知识,完成如图所示的电话本


信息类:

public class Info {
 private String name;
 private String sex;
 private String age;
 private String phoneNumber;
 private String qq;
 private String adr;
 
 public Info(){
  
 }
 public Info(String name,String sex,String age,String phoneNumber,
   String qq,String adr){
  this.name = name;
  this.sex = sex;
  this.age = age;
  this.phoneNumber = phoneNumber;
  this.qq = qq;
  this.adr = adr;
  
  
 }
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public String getAge() {
  return age;
 }
 public void setAge(String age) {
  this.age = age;
 }
 public String getPhoneNumber() {
  return phoneNumber;
 }
 public void setPhoneNumber(String phoneNumber) {
  this.phoneNumber = phoneNumber;
 }
 public String getQq() {
  return qq;
 }
 public void setQq(String qq) {
  this.qq = qq;
 }
 public String getAdr() {
  return adr;
 }
 public void setAdr(String adr) {
  this.adr = adr;
 }
}

功能类:
import java.util.Scanner;
public class Functiion extends Info{
 
 static Info []infos=new Info[100];
 static Scanner sc = new Scanner(System.in);
     //增加
       public void add(){
      System.out.print("姓名:");
      String name=sc.next();
      System.out.print("性别:");
      String sex=sc.next();
      System.out.print("年龄:");
      String age = sc.next();
      System.out.print("电话:");
      String phoneNumber=sc.next();
      System.out.print("QQ:");
      String qq=sc.next();
      System.out.print("地址:");
      String adr=sc.next();
        Info info = new Info(name,sex,age,phoneNumber,qq,adr);
        int i=0;
        while(true){
         if(infos[i]==null){
          infos[i]=info;
          System.out.println("姓名:"+name+",性别:"+sex+",年龄:"+age+",电话:"
            + ""+phoneNumber+",地址:"+adr);
          System.out.println("添加成功");
          break;
         }
         i++;
        }
       }
         //删除
       public void delete(){
        System.out.println("请输入你要删除的人的姓名:");
        String name = sc.next();
        for(int i=0;infos[i]!=null;i++){
         if(name.equals(infos[i].getName())){
          System.out.println("姓名:"+infos[i].getName()+" 性别:"+infos[i].getSex()
            +"  年龄:"+infos[i].getAge()+"  QQ:"+infos[i].getQq()+"  电话:"+infos[i].getPhoneNumber()
            );
          System.out.println("确定要删除吗?1。是    2。否");
          int x=sc.nextInt();
          if(x==1){
           for(int j=i;infos[j]!=null;j++){
            infos[j]=infos[j+1];
           }
        System.out.println("删除成功");
        break;
          
          }
         }
         if(infos[i]==null){
          System.out.println("此人不存在!");
         }
        }
       }
      
         //修改
       public void change(){
        System.out.print("请输入姓名:");
        String name=sc.next();
     
        for(int i=0;infos[i]!=null;i++){
         if(name.equals(infos[i].getName())){
       System.out.println("姓名:"+infos[i].getName()+"性别"+infos[i].getSex()
         +"年龄"+infos[i].getAge()+"QQ"+infos[i].getQq()+"电话"+infos[i].getPhoneNumber()
         );
       System.out.print("姓名:");
    String name1=sc.next();
    System.out.print("性别:");
    String sex1=sc.next();
    System.out.print("年龄:");
    String age1 = sc.next();
    System.out.print("电话:");
    String phoneNumber1=sc.next();
    System.out.print("QQ:");
    String qq1=sc.next();
    System.out.print("地址:");
    String adr1=sc.next();
    Info info= new Info(name1,sex1,age1,phoneNumber1,qq1,adr1);
    infos[i]=info;
    System.out.println("修改成功");
    break;
         }
        }
       }
         //查询所有
       public void printAll(){
        for(int i=0;infos[i]!=null;i++){
         System.out.println("姓名:"+infos[i].getName()+"  性别:"+infos[i].getSex()
        +" 年龄:"+infos[i].getAge()+"  QQ:"+infos[i].getQq()+"  电话:"+infos[i].getPhoneNumber()
        );
        }
       
       }
      
         //按姓名查询
      
       public void printByName(){
     System.out.print("请输入姓名:");
     String name=sc.next();
        int i=0;
     for( i=0;infos[i]!=null;i++){
      if(name.equals(infos[i].getName())){
       System.out.println("姓名:"+infos[i].getName()+"  性别:"+infos[i].getSex()
         +"  年龄:"+infos[i].getAge()+"  QQ:"+infos[i].getQq()+"  电话:"+infos[i].getPhoneNumber()
         );
       break;
      }
     }
     if(infos[i]==null){
      System.out.println("此人不存在");
      
     }
       }
        
   
        
}
//主函数:
import java.util.Scanner;
import com.hpe.po.Functiion;
public class Main {
 
    public static void main(String[] args) {
    Scanner scanner =new Scanner(System.in);
          Menu();
     Functiion functiion =new Functiion();
  while(true) {
   String choose = scanner.next();
   switch(choose) {
   case "1":
    //添加联系人
    functiion.add();
    Menu();
    break;
   case "2":
    //删除联系人
    functiion.delete();
    Menu();
    break;
   case "3":
    //修改联系人信息
    functiion.change();
    Menu();
    break;
   case "4":
    //输出所有联系人的信息    
    functiion.printAll();
    Menu();
    break;
   case "5":
    //按姓名查询
    functiion.printByName();
    Menu();
    break;
   case "0":
    System.out.println("谢谢使用");
    break;
   default:
    System.out.println("输入有误,请重新输入");
   }
   if(choose.equals("0")) {
    break;
   }
  }
 }
    public static void Menu(){
     System.out.println("------------------------电话本管理系统-----------------");
     System.out.println("1.添加  2.删除   3.修改  4.查询所有  5.按姓名查询  0.退出");
     System.out.println("------------------------电话本管理系统-----------------");
     System.out.println("请选择你要进行的操作:");
  } 
}