TOP ONE:
利用联系人类,设计新的通讯录类,完成以下操作:
(1)通讯录类中包含的成员变量:联系人数组,联系人数量。
(2)构造方法:创建联系人数组(大小为默认值,例100),赋值联系人数量(值为0)。
(3)成员方法:
功能:查找联系人。要求:根据姓名,查找联系人对象,找到时,返回对象引用,没找到时,返回null。
功能:添加联系人。要求:将一个新的联系人对象,添加 到数组中,并修改联系人数量。添加成功,返回true,添加失败,返回false。
功能:浏览所有联系人。要求:输出所有联系人信息。
*功能 :删除联系人。要求 :删除指定的联系人。方法提示,最后一个联系人代替被删除联系人,修改联系人数量。删除成功,返回true,删除失败,返回false
(4)测试类:
创建通讯录对象;
输入联系人数量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);
}
}
运行结果如下: