对象集合zy6

TOP ONE:

利用联系人类,设计新的通讯录类,完成以下操作:
(1)通讯录类中包含的成员变量:联系人数组,联系人数量。
(2)构造方法:创建联系人数组(大小为默认值,例100),赋值联系人数量(值为0)。
(3)成员方法:
   功能:查找联系人。要求:根据姓名,查找联系人对象,找到时,返回对象引用,没找到时,返回null。
   功能:添加联系人。要求:将一个新的联系人对象,添加 到数组中,并修改联系人数量。添加成功,返回true,添加失败,返回false。
   功能:浏览所有联系人。要求:输出所有联系人信息。
   *功能 :删除联系人。要求 :删除指定的联系人。方法提示,最后一个联系人代替被删除联系人,修改联系人数量。删除成功,返回true,删除失败,返回false4)测试类:
创建通讯录对象;
输入联系人数量n;
调用添加方法,进行n个联系人的添加(每次添加一个联系人,共添加 n次);
调用浏览方法,查看所有联系人列表信息;
调用查找联系人方法,输入一个联系人姓名,找到时,显示联系人的信息(姓名、电话),没找到,显示:“未找到”。
删除指定的联系人。

import java.util.Scanner;
public class lijia
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
        connect b=new connect();
        System.out.println("请输入联系人数量");
        int n=sc.nextInt();
        System.out.println("请输入"+n+"个联系人姓名和电话");
        for(int i=1;i<=n;i++)
        {
            String name=sc.next();
            String number=sc.next();
            System.out.println(b.add(name,number));
        }
        System.out.println("全部的联系人为");
        b.look();
        System.out.println("请输入查找姓名");
        String seekname=sc.next();
        if((b.seek(seekname))==null)
        System.out.println("未找到");
        System.out.println((b.seek(seekname)).name+" "+(b.seek(seekname)).number);
        System.out.println("请输入删除姓名");
        String deletename=sc.next();
        System.out.println( b.delete(deletename));
        System.out.println("全部的联系人为:");
        b.look();
    }
}
class Person
{
    String name;
    String number;
}
class connect
{
    Person a[];
    int number;

    public connect()
    {
        a=new Person[100];
        number=0;
    } 

    public String add(String name,String number)
    {
        if(this.number>99)
        return "添加失败";
        a[this.number]=new Person();
        a[this.number].name=name;
        a[this.number].number=number;
        this.number++;
        return "添加成功";
    }   

    public Person seek(String name)
    {
        for(int i=0;i<number;i++)
        {   if((a[i].name).equals(name))
            {
                return a[i];
            }
        }
        return null;    
    }

    public void look()
    {
        for(int i=0;i<number;i++)
        {
            System.out.println("联系人 "+a[i].name+" 电话 "+a[i].number);
        }
    }

    public String delete(String name)
    {
        for(int i=0;i<number;i++)
        { if((a[i].name).equals(name))
          {
            a[i]=a[this.number-1];
            number=number-1;
            return "删除成功";
          }
        }
        return "删除失败";
    }
}

运行结果如下:
这里写图片描述

TOP TWO:

import java.util.Scanner;
public class lijia
{
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生人数");
        int n=sc.nextInt();
        StudentClass Studentclass=new StudentClass(n);
        System.out.println("全部学生为:");
        Studentclass.print();
        System.out.println("查找 请输学生学号");
        int id=sc.nextInt();
        if(Studentclass.seek(id)==null)
        System.out.println("查找失败");
        else 
        System.out.println(Studentclass.seek(id).name+" "+Studentclass.seek(id).id+" "+Studentclass.seek(id).score);
        System.out.println("average: "+Studentclass.average());
        System.out.println("MaxScoreStudent"+Studentclass.max().name+" "+Studentclass.max().id+" "+Studentclass.max().score);
        System.out.println("排序");
        Studentclass.paixu();
        Studentclass.print();
    }
}

class Student
{
    String name;
    int id;
    int score;
}

class StudentClass
{
    Student StudentArrary[];
    int number;

    public StudentClass(int n)
    {
        Scanner sc=new Scanner(System.in);
        number=n;
        StudentArrary=new Student[n];
        System.out.println("请输入"+n+"个学生的姓名、学号、成绩");
        for(int i=0;i<n;i++)
        {
            StudentArrary[i]=new Student();
            StudentArrary[i].name=sc.next();
            StudentArrary[i].id=sc.nextInt();
            StudentArrary[i].score=sc.nextInt();
        }
    }

    public Student seek(int id)
    {
        for(int i=0;i<number;i++)
        if( StudentArrary[i].id==id)
        return  StudentArrary[i];
        return null;    
    }
    public Double average()
    {
        int sum=0;
        for(int i=0;i<number;i++)
        sum=sum+StudentArrary[i].score;
        return  1.0*sum/number;
    }
    public Student max()
    {
        Student max=StudentArrary[0];
        for(int i=0;i<number;i++)
        if(max.score<StudentArrary[i].score)
        max=StudentArrary[i];
        return max;
    }
    public void paixu()
    {
        Student t;
        for(int i=0;i<number;i++)
        for(int j=i+1;j<number;j++)
        if(StudentArrary[i].score<StudentArrary[j].score)
        {
            t=StudentArrary[j];
            StudentArrary[j]=StudentArrary[i];
            StudentArrary[i]=t;
        }
    }
    public void print()
    {
        for(int i=0;i<number;i++)
        System.out.println("name:"+StudentArrary[i].name+" id:"+StudentArrary[i].id+" score:"+StudentArrary[i].score);
    }
}

运行结果如下:
这里写图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值