根据提供的文件信息,我们可以分析出这是一个简单的通讯录程序,它主要使用了Java语言进行编写。该程序具备查询、添加、修改、删除以及退出等功能。接下来,我们将深入解析这些功能及其实现方式。 ### 1. 程序结构与变量定义 在程序的开头部分,可以看到作者使用了`import java.util.*;`来导入Java标准库中的所有实用工具类,如`Scanner`等。随后定义了一个名为`List`的类,并在这个类内部定义了一个二维字符串数组`list`,用于存储通讯录信息。每个联系人占用数组中的一行,每行包含五个字段:编号、姓名、性别、电话号码以及地址。 ```java String[][] list = { {"01", "AAA", "", "123456", ""}, {"02", "BBB", "Ů", "456789", ""}, {"03", "CCC", "", "333333", "㶫"}, {"", "", "", "", ""}, {"", "", "", "", ""} }; ``` ### 2. 主菜单与功能实现 程序的主要逻辑是通过一个无限循环来实现的,用户可以在此循环中选择不同的操作。主菜单包括以下选项: - 查询(Query) - 添加(Add) - 修改(Modify) - 删除(Remove) - 退出(Exit) #### 2.1 查询功能 查询功能允许用户输入一个编号来查找对应的联系人信息。如果输入的编号超出范围或不存在,则提示错误并重新请求输入。 ```java public void query() { System.out.println("请输入要查询的编号(123):"); int j = in.nextInt(); if (j > list.length || list[j - 1][0] == "") { System.out.println("没有找到信息"); query(); // 递归调用,直到输入正确的编号 } else { System.out.println("查询到的信息如下:" + j); display(); // 显示全部联系人信息 return; } } ``` #### 2.2 添加功能 添加功能允许用户向通讯录中添加新的联系人信息。程序首先检查是否还有空余位置,如果有,则请求用户输入完整的联系人信息,并将其添加到列表中。 ```java public void add() { if (n > 4) { // 检查是否还有空间 System.out.println("通讯录已满"); return; } for (int j = 0; j < 5; j++) { list[n][j] = in.next(); if (j == 4) { System.out.println("添加成功"); display(); } } } ``` #### 2.3 修改功能 修改功能允许用户更改已有联系人的信息。用户需要先指定要修改的联系人编号,然后选择要修改的具体字段(如姓名、电话等)。 ```java public void modify() { System.out.print("请输入要修改的编号(123): "); int i = in.nextInt(); System.out.println("1. 编号\n2. 姓名\n3. 性别\n4. 电话\n5. 地址"); System.out.print("请选择要修改的内容: "); int c = in.nextInt(); System.out.println("请输入新值: "); String s = in.nextLine(); list[i - 1][c] = s; if (list[i - 1][c].equals(s)) { System.out.println("修改成功"); display(); } } ``` #### 2.4 删除功能 删除功能允许用户移除指定编号的联系人信息。 ```java public void remove() { System.out.println("请输入要删除的编号(123):"); int k = in.nextInt(); if (k > list.length || list[k - 1][0] == "") { System.out.println("无法删除信息"); } else { for (int j = 0; j < list[k].length; j++) { list[k - 1][j] = ""; } if (j == 5) { System.out.println("删除成功"); display(); } } } ``` #### 2.5 退出功能 退出功能允许用户安全地结束程序运行。 ```java public void exit() { System.out.println("欢迎再次使用!"); System.exit(0); } ``` ### 3. 总结 这个通讯录程序虽然简单,但涵盖了基本的数据管理功能,包括数据的增删改查等操作。通过以上分析,我们不仅可以了解到Java语言的基本语法和控制流程,还可以学习到如何利用数组来组织和管理数据。此外,该程序还展示了如何使用无限循环来构建用户交互界面,以及如何处理异常情况(如输入错误时的处理)。
import java.util.*;
public class List
{
String[][] list =
{
{"01", "AAA", "男", "123456", "北京"},
{"02", "BBB", "女", "456789", "福建"},
{"03", "CCC", "男", "333333", "广东"},
{" ", " ", " ", " ", " "},
{" ", " ", " ", " ", " "}
};
public void start() //主菜单
{
while(true)
{
System.out.println("1.查询\n" + "2.增加\n" + "3.修改\n" + "4.删除\n" +"5.退出");
System.out.print("请输入操作(1-5): ");
int ch = in.nextInt();
switch(ch)
{
case 1: query();
break;
case 2: add();
break;
case 3: modify();
break;
case 4: remove();
case 5: exit();
break;
}
}
}
public void display() //每一次操作后都显示一遍
{
System.out.println("编号" + " " + "姓名" + " " + "性别" + " " + "电话" + " " +
"地址" );
for(int i = 0; i < list.length; i++)
{
for(int j = 0; j < list[i].length; j++)
{
System.out.print(list[i][j] + " ");
}
System.out.println();
}
}
public void query() //查询
{
System.out.println("请输入你想查询的编号(1、2、3……): ");
int j = in.nextInt();
if(j > list.length || list[j - 1][0] == " ")
{
System.out.println("无此信息");
query();
剩余5页未读,继续阅读
- 粉丝: 23
- 资源: 48
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助