用Java设计简单通讯录的设计与实现 设计要求: 1.用图形用户界面实现输入,界面美观操作方便。 2.系统功能的基本要求: (1)查看功能:选择此功能时,列出下列三类选择。 A 办公类;B个人类;C 商务类; 当选中某类时,显示出此类所有数据中的姓名和电话号码) (2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A办公类;B个人类;C商务类; 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按速增的顺序自动进行条目编号。 (3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。。
时间: 2024-04-05 13:34:29 浏览: 19
好的,这个问题我可以回答。首先,你需要使用 Java 的 GUI 库(如 Swing、JavaFX)来实现图形用户界面。然后,你需要设计一个数据结构来存储通讯录信息,例如使用一个链表或者数组。
对于系统功能的基本要求,你需要实现以下功能:
1. 查看功能:根据用户选择的分类,显示对应类型的姓名和电话号码。你可以使用下拉框或者单选按钮来实现分类的选择。
2. 增加功能:当用户输入新数据时,你需要检查是否有重复的姓名和电话号码。如果有重复数据,需要提示用户并取消录入。如果通讯录已满,需要提示用户不能再录入新数据。你还需要自动为新数据分配一个条目编号,并按照编号顺序存储数据。
3. 拔号功能:显示所有人的姓名,并且当用户选中某个姓名时,需要逐个显示出此人的电话号码。
4. 修改功能:当用户选中某个人的姓名时,可以对此人的姓名、电话号码或者分类进行修改。修改后需要保存数据。
5. 删除功能:当用户选中某个人的姓名时,可以将此人的数据从通讯录中删除,并自动调整后续条目的编号。
希望这些信息能对你有所帮助。如果你有任何问题,可以随时问我。
相关问题
andriod要求: 1、设计通讯录app、实现增删改查功能。 2、至少三个界面 :查询列表
通讯录app是一款非常实用的工具,它可以帮助用户管理联系人的信息,方便快捷地进行通讯。为了实现这一功能,我们需要设计一个Andriod通讯录app,其中包括增加、删除、修改和查询联系人信息的功能。
首先,我们需要设计一个简洁明了的界面,包括查询列表、添加联系人和编辑联系人的功能。在查询列表界面,用户可以看到所有联系人的列表,在这个界面上可以进行快速的检索和筛选,便于用户快速找到需要的联系人。
用户可以通过在界面上选择添加联系人来进行增加联系人信息的操作,同时也可以在查询列表中选择某个联系人进行编辑和修改信息。这样可以使用户方便地对联系人信息进行管理和更新。
另外,我们还可以在界面上增加一些其他功能,比如同步通讯录到其他设备、备份通讯录、批量导入导出等,来增强用户体验。
总之,设计一个Andriod通讯录app不仅需要实现增删改查功能,还需要注重用户体验和界面设计。通过简洁明了的界面和丰富的功能,让用户能够方便快捷地管理自己的联系人信息。
用java设计通讯录保存信息 设计要求:1.通讯录中包括一般通讯录的基本信息2.需要实现普通的检索功能3.通讯录写入文件4.程序执行时,从文件导入数据:退出后将输入保存到文件5.拥有可视化界面
好的,以下是一个简单的用Java设计通讯录保存信息的示例:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class ContactList extends JFrame implements ActionListener {
private JTextField nameField, phoneField, searchField;
private JTextArea displayArea;
private JButton addButton, searchButton, saveButton, loadButton;
private ArrayList<Contact> contacts;
public ContactList() {
super("Contact List");
contacts = new ArrayList<Contact>();
// 设置界面布局
JPanel inputPanel = new JPanel(new GridLayout(3, 2));
inputPanel.add(new JLabel("Name:"));
nameField = new JTextField();
inputPanel.add(nameField);
inputPanel.add(new JLabel("Phone:"));
phoneField = new JTextField();
inputPanel.add(phoneField);
addButton = new JButton("Add");
addButton.addActionListener(this);
inputPanel.add(addButton);
inputPanel.add(new JLabel(""));
JPanel searchPanel = new JPanel(new FlowLayout());
searchField = new JTextField(20);
searchPanel.add(searchField);
searchButton = new JButton("Search");
searchButton.addActionListener(this);
searchPanel.add(searchButton);
JPanel displayPanel = new JPanel(new BorderLayout());
displayArea = new JTextArea(15, 30);
displayArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(displayArea);
displayPanel.add(scrollPane, BorderLayout.CENTER);
JPanel filePanel = new JPanel(new FlowLayout());
saveButton = new JButton("Save");
saveButton.addActionListener(this);
filePanel.add(saveButton);
loadButton = new JButton("Load");
loadButton.addActionListener(this);
filePanel.add(loadButton);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(inputPanel, BorderLayout.NORTH);
mainPanel.add(searchPanel, BorderLayout.CENTER);
mainPanel.add(displayPanel, BorderLayout.SOUTH);
mainPanel.add(filePanel, BorderLayout.EAST);
add(mainPanel);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
String name = nameField.getText();
String phone = phoneField.getText();
Contact c = new Contact(name, phone);
contacts.add(c);
displayContacts();
} else if (e.getSource() == searchButton) {
String query = searchField.getText();
ArrayList<Contact> results = searchContacts(query);
displayContacts(results);
} else if (e.getSource() == saveButton) {
saveContacts();
} else if (e.getSource() == loadButton) {
loadContacts();
displayContacts();
}
}
private void displayContacts() {
displayArea.setText("");
for (Contact c : contacts) {
displayArea.append(c.getName() + " " + c.getPhone() + "\n");
}
}
private void displayContacts(ArrayList<Contact> list) {
displayArea.setText("");
for (Contact c : list) {
displayArea.append(c.getName() + " " + c.getPhone() + "\n");
}
}
private ArrayList<Contact> searchContacts(String query) {
ArrayList<Contact> results = new ArrayList<Contact>();
for (Contact c : contacts) {
if (c.getName().contains(query) || c.getPhone().contains(query)) {
results.add(c);
}
}
return results;
}
private void saveContacts() {
try {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("contacts.dat"));
out.writeObject(contacts);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void loadContacts() {
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream("contacts.dat"));
contacts = (ArrayList<Contact>)in.readObject();
in.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new ContactList();
}
}
class Contact implements Serializable {
private String name;
private String phone;
public Contact(String name, String phone) {
this.name = name;
this.phone = phone;
}
public String getName() {
return name;
}
public String getPhone() {
return phone;
}
}
```
这个程序使用了Swing库实现了一个简单的GUI界面,包括输入框、按钮、文本区域等。通讯录数据以一个包含联系人姓名和电话号码的Contact类的形式保存,使用ArrayList来管理多个联系人。程序实现了添加联系人、搜索联系人、保存联系人、载入联系人等功能,并将数据以序列化的形式保存到文件中。