
具体方法如下:
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 = 0i <sizei++) {
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 = 0i <size &&i <contacts.length
i++) {
if (contacts[i].cellPhone.equals(cellphone)) {
index = i
break
}
}
if (index == -1) {
System.out.println("该记录不存在!")
} else {
for (int i = indexi <sizei++) {
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 = 0i <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)
}
}
附件:源程序清单 import java.awt.*import java.awt.event.*class Info { public static String name,address,mail,telephoneInfo(){} } public class addressBook extends Frame implements ActionListener { private MenuItem noteAdd=new MenuItem("Add")private MenuItem noteDel=new MenuItem("Del")private MenuItem noteEdit=new MenuItem("Modify")private MenuItem noteExit=new MenuItem("Exit")private List noteList=new List()private String[][] message=new String [1000][4]public Info notes=new Info() public addressBook(){ super("通讯录 向阳")Menu note=new Menu("Edit")note.add(noteAdd)note.add(noteDel)note.add(noteEdit)note.addSeparator()note.add(noteExit) MenuBar bar=new MenuBar()bar.add(note)setMenuBar(bar)add(noteList) noteAdd.addActionListener(this)noteDel.addActionListener(this)noteEdit.addActionListener(this)noteExit.addActionListener(this)noteList.addActionListener(this)addWindowListener(new WindowCloser())setSize(300,400)show()} public void actionPerformed(ActionEvent e){ if(e.getSource()==noteAdd){ notes.mail=nullnotes.name=nullnotes.address=nullnotes.telephone=nullint index=noteList.getItemCount()EditDialog dlg=new EditDialog(this,"添加通讯录")if(dlg.isOk){ message[index][0]=dlg.textName.getText()message[index][1]=dlg.textAddress.getText()message[index][2]=dlg.textEmail.getText()message[index][3]=dlg.textTelephone.getText()if (message[index][0]!=null){ String s="姓名:"+message[index][0]+";\t地址"+message[index][1]+";\tE-mail"+message[index][2]+";\t电话"+message[index][3]noteList.add(s) } } dlg.dispose()}else if(e.getSource()==noteDel){ ConfirmDialog dlg=new ConfirmDialog(this,"确认删除","确定要删除这一条吗?")if (dlg.close){ noteList.remove(noteList.getSelectedIndex())} dlg.dispose()}else if(e.getSource()==noteEdit||e.getSource()==noteList){ int i=noteList.getSelectedIndex()if(i!=-1){ notes.name=message[i][0]notes.address=message[i][1]notes.mail=message[i][2]notes.telephone=message[i][3]EditDialog dlg=new EditDialog(this,"修改通讯录")if(dlg.isOk){ message[i][0]=dlg.textName.getText()message[i][1]=dlg.textAddress.getText()message[i][2]=dlg.textEmail.getText()message[i][3]=dlg.textTelephone.getText() String s="姓名:"+message[i][0]+";\t地址"+message[i][1]+";\tE-mail"+message[i][2]+";\t电话"+message[i][3]noteList.replaceItem(s,i)} dlg.dispose()} }else if(e.getSource()==noteExit){ System.exit(0)} } private class WindowCloser extends WindowAdapter{ public void WindowClosing(WindowEvent we){ System.exit(0)} } public static void main(String[]args){ addressBook a=new addressBook()} } class EditDialog extends Dialog implements ActionListener { private Button ok=new Button("确定")private Button cancel=new Button("取消") private Label labelName=new Label("姓名",Label.LEFT)private Label labelAddress=new Label("地址",Label.LEFT)private Label labelEmail=new Label("E-mail",Label.LEFT)private Label labelTelephone=new Label("电话",Label.LEFT) TextField textName=new TextField(30)TextField textAddress=new TextField(30)TextField textEmail=new TextField(30)TextField textTelephone=new TextField(30) public boolean isOk=falseprivate Info notes=new Info()public EditDialog(Frame parent,String title){ super(parent,title,true)Panel pName=new Panel()pName.setLayout(new FlowLayout())pName.add(labelName)pName.add(textName) Panel pAddress=new Panel()pName.setLayout(new FlowLayout())pName.add(labelAddress)pName.add(textAddress) Panel pEmail=new Panel()pName.add(labelEmail)pName.add(textEmail) Panel pTelephone=new Panel()pName.add(labelTelephone)pName.add(textTelephone) Panel pInfo=new Panel()pInfo.setLayout(new GridLayout(4,1))pInfo.add(pName)pInfo.add(pAddress)pInfo.add(pEmail)pInfo.add(pTelephone) Panel pButton=new Panel()pButton.setLayout(new FlowLayout())pButton.add(ok)pButton.add(cancel) setLayout(new BorderLayout())add("Center",pInfo)add("South",pButton) textName.setText(notes.name)textAddress.setText(notes.address)textEmail.setText(notes.mail)textTelephone.setText(notes.telephone) ok.addActionListener(this)cancel.addActionListener(this)addWindowListener(new WindowCloser())setResizable(false)pack()show()} public void actionPerformed(ActionEvent ae) { if(ae.getSource()==ok){ isOk=truethis.hide() } if(ae.getSource()==cancel){ isOk=falsethis.hide()} } private class WindowCloser extends WindowAdapter { public void windowClosing(WindowEvent we) { isOk=falseEditDialog.this.hide()} } } class ConfirmDialog extends Dialog implements ActionListener { private Button okay=new Button("确定")private Button cancel=new Button("取消")private Label label=new Label()public boolean close=false public ConfirmDialog (Frame parent,String title,String question) { super(parent,title,true)label.setText(question)Panel buttons=new Panel()buttons.setLayout(new FlowLayout())buttons.add(okay)buttons.add(cancel)setLayout(new BorderLayout())add("Center",label)add("South",buttons)okay.addActionListener(this)cancel.addActionListener(this)addWindowListener(new WindowCloser())setResizable(false)pack()show()} private class WindowCloser extends WindowAdapter{ public void WindowClosing(WindowEvent we){ ConfirmDialog.this.close=falseConfirmDialog.this.hide()} public void actionPerformed(ActionEvent ae){ close=(ae.getSource()==okay)hide()} }}这个太简单了,你问的是程序编制要点,那么我就告诉你:1.分析程序
2.制定计划
3.编写代码
4.测试
关于你说的用java编写个人通讯录管理程序,这个程序代码
这本书有原代码,你自己可以看下
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)