重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
具体方法如下:
成都创新互联是一家专业提供隆化企业网站建设,专注与成都网站建设、成都做网站、H5网站设计、小程序制作等业务。10年已为隆化众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
1、定义封装一条记录的实体类
2、根据实际系统容量,定义一个数组
3、完成系统中显示全部记录的逻辑
4、完成系统中添加一条记录的逻辑
5、完成系统中删除一条记录的逻辑
6、完成系统中修改一条记录的逻辑
7、全部代码:
import java.util.Scanner;
class Contact {
String cellPhone;
String name;
}
public class Main {
private static void menu () {
System.out.println("************** 菜单 ******"
+ "************");
System.out.println(" 1.显示全部通讯录");
System.out.println(" 2.增加一条记录");
System.out.println(" 3.删除一条记录");
System.out.println(" 4.修改一条记录");
System.out.println(" 0.退出");
}
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
Contact[] contacts = new Contact[200];
int size = 0;
String cmd = "";
do {
menu();
System.out.print("请输入你得选择:(0-4)");
cmd = scn.nextLine();
if (cmd.equals("1")) {
if (size == 0)
System.out.println("系统当前无记录!");
else
for (int i = 0; i size; i++) {
System.out.println(contacts[i].name + ":"
+ contacts[i].cellPhone);
}
} else if (cmd.equals("2")) {
System.out.print("请输入手机号:");
String cellphone = scn.nextLine();
System.out.print("请输入姓名:");
String name = scn.nextLine();
Contact contact = new Contact();
contact.cellPhone = cellphone;
contact.name = name;
if (size contacts.length) {
contacts[size++] = contact;
System.out.println("添加成功!");
} else {
System.out.println("你最多只能添加" +
contacts.length + "条记录");
}
} else if (cmd.equals("3")) {
System.out.print("请输入要删除的手机号:");
String cellphone = scn.nextLine();
int index = -1;
for (int i = 0; i size i contacts.length;
i++) {
if (contacts[i].cellPhone.equals(cellphone)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该记录不存在!");
} else {
for (int i = index; i size; i++) {
contacts[index] = contacts[index + 1];
}
contacts[size - 1] = null;
size--;
System.out.println("删除成功!");
}
} else if (cmd.equals("4")) {
System.out.print("请输入要修改的手机号:");
String cellphone = scn.nextLine();
int index = -1;
for (int i = 0; i size i contacts.length;
i++) {
if (contacts[i].cellPhone.equals(cellphone)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该记录不存在!");
} else {
System.out.print("请输入姓名:");
String name = scn.nextLine();
contacts[index].name = name;
}
}
} while (!cmd.equals("0"));
System.out.println("退出成功!");
scn.close();
System.exit(0);
}
}
那得建立一个列表ArrayList,里面保存你所有的记录,比如一个联系人是一个类class People,然后你建一个ArrayListPeople list=new ArrayListPeople();然后每操作一次都将这个联系人存进这个列表里list.add(people123);并且设置一个标志位true或者false,表示这个联系人是增加的或是删除的。
翻了半天找到以前写的,只写了部分,你可以参考一下
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("学号 姓名 分数:");
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(listLengthMAX_LEN)
System.out.println("表满!");
if(n1 || nlistLength+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(n1 || nlistLength-1){System.out.println("删除位置不正确!");return;}
for(int i=n;ilistLength;i++)
listdata[i-1]=listdata[i];
listLength--;
System.out.println("----删除成功!-----");
return;
}
public void getData(int n){
if(n1 || nlistLength){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;ilistLength;i++) {
String format = String.format(listdata[i].getStuName()+" "+listdata[i].getStuNumber()+" "+listdata[i].getStuScore());
System.out.println(format);
}
//return 0;
}
}
你就怎么那么小气呢!给个几十分也不亏你!
算了,刚写的就便宜你了!
import java.util.Scanner;
public class Shopping {
System.out.println("\t\t\t\t1.添加联系人信息\n");
System.out.print("\t\t\t\t2删除联系人信息\n");
System.out.println("\t\t\t\t3查看联系人信息\n");
System.out.println("\t\t\t\t4.退出");
System.out.println("请选择,输入数字或按“n”返回上一级菜单:");
System.out.println("请选择,输入数字或按“n”返回上一级菜单:");
num = scanner.nextLine();
if (num.equals("n"))
isR = true;
else if(num.equals("1")){
System.out.println("添加联系人信息");
System.out.println("输入联系人的姓名: ");
num = scanner.nextLine();
String birthDayNum = num;
System.out.println("输入联系人的电话: ");
num = scanner.nextLine();
String birthDayNum = num;
System.out.print("是否继续添加(y/e):");
String numJixu = scanner.nextLine();
if (numJixu.equals("y"))
isEnd2 = true;
else {
isEnd2 = false;
isEnd = true;
}
}
else if(num.equals("3")){
System.out.println("查看联系人");
System.out.print("请输入联系人姓名:");
String snum = scanner.nextLine();
int numberNum = Integer.parseInt(snum);
}
}
就给你发这么多吧!还有一点点自己琢磨吧!我也没时间整理了!!
getContentResolver().delete()需要填入三个参数,才能删除全部联系人,代码如下:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
while (cur.moveToNext()) {
try{
String lookupKey = cur.getString(cur.getColumnIndex(
ContactsContract.Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(ContactsContract.
Contacts.CONTENT_LOOKUP_URI, lookupKey);
System.out.println("The uri is " + uri.toString());
cr.delete(uri, null, null);//删除所有的联系人
}
catch(Exception e)
{
System.out.println(e.getStackTrace());
}
}
#includestdio.h /*I/O函数*/
#includeprocess.h/*包含exit函数*/
#includestring.h/*字符串函数*/
struct person/*定义一个结构体,结构体内元素为数组*/
{
char name[10];/*姓名*/
char number[15];/*学号*/
char tel[15];/*电话*/
char addr[30];/*地址*/
};
char filename[12];
FILE *fp;/*定义一个指针*/
void creat();/*创建一个通讯簿*/
void output();/*输出通讯录中所含资料*/
void append();/*添加函数*/
void search();/*查找函数*/
void Delete();/*删除函数*/
void modify();/*修改函数*/
/*以下是主函数*/
main()
{
int m;/*定义一个整数*/
creat();
while(1)/*括号中为1代表无限循环*/
{
printf("\n\n添加同学地址,请按1");
printf("\n查找同学地址,请按2");
printf("\n修改同学地址,请按3");
printf("\n删除原来地址,请按4");
printf("\n输出所有地址,请按5");
printf("\n退出本通讯录,请按0\n");
scanf("%d",m);
if(m=0m=5)
{
switch(m)/*调用主菜单函数,返回值整数作开关语句的条件*/
{
case 1: append();/*往通讯录中添加*/
break;
case 2: search();/*在通讯录中查找*/
break;
case 3: modify();/*修改通讯录中资料*/
break;
case 4: Delete();/*删除通讯录中资料*/
break;
case 5: output();/*输出通讯录中所有名单*/
break;
case 0: exit(0);/*退出运行程序*/
}
printf("\n\n操作完毕,请再次选择!");
}
else
printf("\n\n选择错误,请再次选择!");
}
}
void output()
{
struct person one;
if((fp=fopen(filename,"r"))==NULL)/*用输入打开一个文本文*/
{
printf("\n不能打开通讯簿!");
exit(0);
}
printf("\n\n%12s\n","通 讯 簿");
while(!feof(fp))/*检验fp所指文件是否结束,此为一个循环语句*/
{
fscanf(fp,"%s%s%s%s\n",one.name,one.number,one.tel,one.addr);/*从fp所指文件中读出数据*/ printf("\n%-10s%-15s%-15s%-30s\n",one.name,one.number,one.tel,one.addr);/*输出上面读出数据*/
}
fclose(fp);/*关闭所指文件,释放文件缓冲区,并返回值*/
}
/*****************添加函数*******************************/
void append()
{
struct person one;
if((fp=fopen(filename,"a"))==NULL)/*向二进制文本尾追加数据*/
{
printf("\n不能打开通讯簿!");
exit(0);
}
printf("\n请输入添加的姓名、电话号码及住址\n");