JAVA简易通讯录

Linkman.java

package contact;

public class Linkman {
	String name;
	String remark;
	String tel;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public String getTel() {
		return tel;
	}
	public void setTel(String tel) {
		this.tel = tel;
	}
	
}
Contact.java

package contact;

import java.util.Scanner;

public class Contact {
	public static int total = 0;
	static int flag ;
	public static void main(String[] args) {
		Linkman[] lm = new Linkman[100];
		for(int i =0;i<100;i++){
			lm[i] = new Linkman();
		}
		do{
			flag = 0;
			System.out.println("enter int the command:[i,d,e,f,l,q] \"name\".no spare space is allowed");
			String input;
			String reference;
			Scanner sc = new Scanner(System.in);
			input = sc.nextLine();
			char command = input.charAt(0);
			if(input.length()<=2){
				reference = "anonymous";
			}
			else{
				reference = input.substring(2, input.length());
			}
			switch(command){
			case 'i'://增加
				insert(lm,reference);
				flag++;
				//sort(lm);
				break;
			case 'd'://删除
				delete(lm,reference);
				flag++;
				//sort(lm);
				break;
			case 'e'://更改
				edit(lm,reference);
				flag++;
				break;
			case 'f'://查找
				find(lm,reference);
				flag++;
				break;
			case 'l'://排序
				flag++;
				list(lm);
				break;
			case 'q':
				System.out.println("quit...");
				break;
			default :
				System.out.println("command "+command+"couldn't be found!Please try again.");
				flag++;
				break;
			}
		}while(flag>0);
	}
	public static void insert(Linkman[] lm,String name){
		total++;
		Scanner sc = new Scanner(System.in);
		System.out.println("Name:"+name);
		lm[total-1].name=name;
		System.out.print("Tel:");
		String tel = sc.nextLine();
		lm[total-1].tel=tel;
		System.out.print("Remark:");
		String remark = sc.nextLine();
		lm[total-1].remark = remark;
	}
	public static void delete(Linkman []lm,String name){
		for(int i=0;i<total;i++){
			if(lm[i].name.equalsIgnoreCase(name)){
				System.out.println("delete the contact:"+"[No."+(i+1)+"]"+"name:"+lm[i].name+"  tel:"+lm[i].tel+"   reamrk:"+lm[i].remark);
				lm[i].name = lm[total-1].name;
				lm[i].tel = lm[total-1].tel;
				lm[i].remark = lm[total-1].remark;
				lm[total-1].name = null;
				lm[total-1].tel = null;
				lm[total-1].remark = null;
				total--;
				break;
			}
		}
	}
	public static void edit(Linkman []lm,String name){
		Scanner sc = new Scanner(System.in);
		for(int i=0;i<total;i++){
			if(lm[i].name.equalsIgnoreCase(name)){
				System.out.println("Change the information of "+"[-"+lm[i].name.toUpperCase()+"-]");
				System.out.println("ORIGINAL_TEL:"+"["+lm[i].tel+"]");
				System.out.print("NEW_TEL:");
				String newTel = sc.next();
					lm[i].tel = newTel;
				System.out.println("ORIGINAL_REMARK:"+"["+lm[i].remark+"]");
				System.out.print("NEW_REMARK:");
				String newRemark = sc.next();
					lm[i].remark = newRemark;
			}
		}
	}
	public static void find(Linkman []lm,String name){
		for(int i=0;i<total;i++){
			if(lm[i].name.startsWith(name)){
				System.out.println("[No."+(i+1)+"]"+"name:"+lm[i].name.toLowerCase()+"--tel:"+lm[i].tel+"--reamrk:"+lm[i].remark.toLowerCase());
			}
		}
	}
	public static void list(Linkman[] lm){
		if(total==0){
			System.out.println("no contact found");
		}
		else{
			int a,b;
			for(a=0;a<total-1;a++){
				for(b=a+1;b<total;b++){
					if(lm[a].name.compareTo(lm[b].name)>0){
						Linkman temp = new Linkman();
						temp = lm[a];
						lm[a] = lm[b];
						lm[b] = temp;
					}
				}
			}
			
			for(int i=0;i<total;i++){
				System.out.println("["+(i+1)+"]"+"name:"+lm[i].name+"--tel:"+lm[i].tel+"--reamrk:"+lm[i].remark);
			}
		}
	}
}
这是学习java一个多月的时候老师布置的一个java作业,实现简单的通讯录功能:增、删、改、查、排序。

增 i name

删 d name

改 e name   不能更改姓名

查 f name开始的部分字符

排序 l 不带参数

转载于:https://my.oschina.net/sherwayne/blog/87605

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值