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 不带参数