Java讯序_java使用顺序表制作电子通讯录,实现添加,删除和排序的功能.

展开全部

翻了半天找到以前写的,只写了部分,你可以参考一下

public class Data {

private long stuNumber;

private String stuName;

private long stuScore;

public Data(){}

public Data(long stuNumber,String stuName,long stuScore){

this.stuNumber=stuNumber;

this.stuName=stuName;

this.stuScore=stuScore;

}

public void setStuNumber(long stuNumber){this.stuNumber=stuNumber;}

public void setStuName(String stuName){this.stuName=stuName;}

public void setStuScore(long stuScore){this.stuScore=stuScore;}

public long getStuNumber(){return stuNumber;}

public String getStuName(){return stuName;}

public long getStuScore(){return stuScore;}

}

public interface LinkListIntf {

public void initList();//初始化

public int size();//获得长度

public void insertData(int n,Data listdata);

public void getData(int n);

public void deleteData(int n);

public void printList();

}

public class ListTest {

public static void main(String[] args) {

int i;

Sqlist sq = new Sqlist();

Data pdata;

System.out.println("--------Start----------");

System.out.println("--------Init------------");

sq.initList();

System.out.println("--------Init Over--------");

Scanner sc = new Scanner(System.in);

System.out.println("输入元素:");

for (int m = 0; m < 2; m++) {

Data data = new Data();

System.out.print("学号 姓名62616964757a686964616fe58685e5aeb931333339666138 分数:");

data.setStuNumber(sc.nextLong());

data.setStuName(sc.next());

data.setStuScore(sc.nextLong());

sq.insertData(sq.size()+1, data);

}

while (true) {

System.out.println("----请选择操作------");

System.out.print("1--插入;2--打印;3--删除;4--查找;5--结束");

int choose = sc.nextInt();

switch (choose){

case 1:

System.out.print("插入位置:");

int n = sc.nextInt();

Data data = new Data();

System.out.print("学号 姓名 分数:");

data.setStuNumber(sc.nextLong());

data.setStuName(sc.next());

data.setStuScore(sc.nextLong());

sq.insertData(n,data);

break;

case 2:

System.out.print("打印结果: ");

sq.printList();

break;

case 3:

System.out.print("请输入要删除的元素的位置: ");

int deleteLocation = sc.nextInt();

sq.deleteData(deleteLocation);

break;

case 4:

System.out.print("请输入要查询的元素的位置: ");

int findLocation = sc.nextInt();

System.out.print("元素内容是: ");

sq.getData(findLocation);

break;

case 5:

return;

}

}

}

}

public class Sqlist implements LinkListIntf{

public static final int MAX_LEN = 100;

public int listLength;

private Data[] listdata = new Data[MAX_LEN];

//初始化顺序表

public void initList(){this.listLength=0;}

public int size(){return this.listLength;}

public void insertData(int n,Data data){

int i;

if(listLength>MAX_LEN)

System.out.println("表满!");

if(n<1 || n>listLength+1)

System.out.println("插入位置越界!");

for(i=listLength-1;i>=n-1;i--)

listdata[i+1]=listdata[i];

listdata[n-1]=data;

listLength++;

return;

}

public void deleteData(int n){

if(n<1 || n>listLength-1){System.out.println("删除位置不正确!");return;}

for(int i=n;i

listdata[i-1]=listdata[i];

listLength--;

System.out.println("----删除成功!-----");

return;

}

public void getData(int n){

if(n<1 || n>listLength){System.out.println("查找不正确!");}

System.out.println(listdata[n-1].getStuNumber()+" "+listdata[n-1].getStuName()+" "+listdata[n-1].getStuScore());

//return 0;

}

public void printList(){

int i;

System.out.println("表中信息为:");

for(i=0;i

String format = String.format(listdata[i].getStuName()+" "+listdata[i].getStuNumber()+" "+listdata[i].getStuScore());

System.out.println(format);

}

//return 0;

}

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 
   第二个模块——Menu()的功能是:显示提示选单。 
   第三个模块——Quit()的功能是:退出选单。 
   第四个模块——Create()的功能是:创建新的数据记录。 
   第五个模块——Add()的功能是:增加新的数据记录,并返回选单。 
   第六个模块——Find()的功能是:按要求查询相关的信息,如果找到了,则显示该信息,如果未找到,则提示文件中没有该信息,并返回选单。 
   第七个模块——Alter()[的功能是:修改某条记录的信息,如果未找到要修改的记录,则提示系统中无此记录,并返回选单。 
   第八个模块——Delete()的功能是:删除某条记录,如果未找到要删除的记录,则提示通讯录中没有,并返回选单。 
   第九个模块——List()的功能是:显示所有记录。 一、用链表或者顺序表实现以下系统,完成线性表的建立(至少包括10个结点),以及线性表中信息(结点)的插入、查找、删除、修改、输出等操作,具体的模块要求见上方的“总的模块要求”。建议用“文件”存储数据。 1.通讯录管理系统的设计与实现 (1)通讯者信息包括:编号(char num[10])、姓名(char name[10])、性别(char sex[10])、电话(char phone[20]) (2)除了总的模块要求外,还需统计通讯录中男性人数及女性人数,并求出通讯录中的第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 
   第二个模块——Menu()的功能是:显示提示选单。 
   第三个模块——Quit()的功能是:退出选单。 
   第四个模块——Create()的功能是:创建新的数据记录。 
   第五个模块——Add()的功能是:增加新的数据记录,并返回选单。 
   第六个模块——Find()的功能是:按要求查询相关的信息,如果找到了,则显示该信息,如果未找到,则提示文件中没有该信息,并返回选单。 
   第七个模块——Alter()[的功能是:修改某条记录的信息,如果未找到要修改的记录,则提示系统中无此记录,并返回选单。 
   第八个模块——Delete()的功能是:删除某条记录,如果未找到要删除的记录,则提示通讯录中没有,并返回选单。 
   第九个模块——List()的功能是:显示所有记录。 一、用链表或者顺序表实现以下系统,完成线性表的建立(至少包括10个结点),以及线性表中信息(结点)的插入、查找、删除、修改、输出等操作,具体的模块要求见上方的“总的模块要求”。建议用“文件”存储数据。 1.通讯录管理系统的设计与实现 (1)通讯者信息包括:编号(char num[10])、姓名(char name[10])、性别(char sex[10])、电话(char phone[20]) (2)除了总的模块要求外,还需统计通讯录中男性人数及女性人数,并求出通讯录中的男女比例。 男女比例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值