JAVA课程设计(通讯簿)
班级通讯录java课程设计

班级通讯录java课程设计一、课程目标知识目标:1. 学生能掌握Java语言中数组、字符串和文件操作的相关知识,并能够运用这些知识存储和读取班级通讯录信息。
2. 学生能够理解面向对象编程的基本概念,如类的定义、对象创建和封装,并运用到班级通讯录的类设计中。
3. 学生能够了解并运用Java异常处理机制,提高程序的稳定性和可靠性。
技能目标:1. 学生能够运用所学知识独立设计并实现一个班级通讯录管理系统,包括添加、删除、修改和查询等功能。
2. 学生能够在编写代码过程中,学会使用调试工具,发现并解决程序中的错误。
3. 学生能够通过小组合作,学会沟通与协作,共同完成课程设计任务。
情感态度价值观目标:1. 学生在课程设计中,培养对编程的兴趣和热情,增强学习Java语言的自信心。
2. 学生能够认识到编程在解决实际问题中的重要作用,提高将所学知识应用于实际生活的意识。
3. 学生通过小组合作,培养团队精神,学会尊重他人,善于倾听他人的意见。
分析课程性质、学生特点和教学要求:本课程设计针对的是高年级学生,他们在之前的学习中已经掌握了Java语言的基础知识。
班级通讯录课程设计旨在让学生将所学知识综合运用到实际项目中,提高编程能力和解决实际问题的能力。
在教学过程中,注重培养学生的动手实践能力和团队协作精神,同时关注学生的情感态度和价值观的培养。
通过本课程设计,使学生能够达到具体的学习成果,并为后续的深入学习奠定基础。
二、教学内容1. Java数组的使用:回顾数组的概念、声明、初始化以及遍历方法,重点掌握如何通过数组存储班级通讯录中的多条记录。
2. Java字符串操作:介绍字符串的基本操作,如连接、截取、查找和替换,并应用于通讯录中信息的处理。
3. 面向对象编程:讲解类的定义、属性和方法的声明,以及对象的创建和使用,以班级通讯录类的设计为例,实现数据的封装和功能的拓展。
4. 文件操作:介绍如何使用Java进行文件的读写操作,将通讯录信息保存到文件中,并从文件中读取信息。
班级通信录java课程设计

班级通信录java课程设计一、课程目标知识目标:1. 学生能掌握Java基础语法,包括数据类型、变量、运算符等。
2. 学生能理解面向对象编程的基本概念,如类、对象、封装、继承、多态。
3. 学生能运用Java集合框架,如List、Map等,实现班级通信录的数据存储和操作。
4. 学生了解Java异常处理机制,能够处理程序运行过程中可能出现的错误。
技能目标:1. 学生能够独立设计并编写一个班级通信录程序,实现添加、删除、查询、修改等功能。
2. 学生能够运用所学知识,解决实际编程过程中遇到的问题,具备一定的调试和优化能力。
3. 学生能够通过编写程序,锻炼逻辑思维和编程能力,提高问题解决能力。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,树立正确的计算机科学观念。
2. 学生能够通过团队协作,共同完成班级通信录项目,培养合作精神和沟通能力。
3. 学生能够认识到编程在生活中的实际应用,激发学习动力,提高自我成就感。
课程性质:本课程属于实践性较强的课程,要求学生结合所学知识,独立设计并实现班级通信录程序。
学生特点:学生处于高年级阶段,已具备一定的Java编程基础,有较强的自学能力和问题解决能力。
教学要求:教师需引导学生运用所学知识,注重实践操作,培养学生的编程能力和实际应用能力。
在教学过程中,关注学生的个体差异,提供有针对性的指导。
通过课程学习,使学生能够达到上述课程目标,实现学习成果的分解和评估。
二、教学内容1. Java基础语法复习:数据类型、变量、常量、运算符、控制语句(条件语句、循环语句)。
2. 面向对象编程概念:类与对象、构造方法、封装、继承、多态。
3. Java集合框架:List接口、ArrayList类、Map接口、HashMap类。
4. 异常处理:异常的概念、try-catch语句、finally语句、自定义异常。
5. 班级通信录程序设计:- 界面设计:使用控制台或图形界面进行交互。
JAVA课程设计 通讯录 通讯簿

目录一、设计任务与要求 (2)1.1 设计任务与要求 (2)1.2 选题目的与意义 (2)二、需求分析 (2)2.1 用户需求分析 (2)2.2 开发环境分析 (3)三、系统设计 (4)3.1 系统总体设计 (4)3.2 功能模块设计 (4)3.3 类的设计 (5)3.4 数据库设计 (11)四、程序实现 (14)4.1 程序流程图 (14)4.2 关键算法与技术实现 (18)4.3 类与数据结构实现 (30)五、测试运行 (35)5.1 系统测试方案 (35)5.2 运行结果分析 (36)六、设计体会 (44)主要参考文献 (45)一、设计任务与要求1.1 设计任务与要求制作一个简单的通讯簿,要求可对朋友的姓名、性别、出生日期、工作单位、手机号码、联系电话、职称、职务、联系地址、邮编、Email和QQ号等信息保存、查询、修改和删除等功能。
具有友好界面,且需要用户名和密码登陆进入系统。
使用数据库作为后台连接。
1.2 选题目的与意义如今生活节奏日益加快,各种联系人也不短增多,但是很多人还是单纯的使用手机或纸质电话本来记录联系人的信息,这些记录的方式存在很多缺点,如:信息量少,查找不方便;容易丢失;存储照片不方便;安全性不高,隐私性不高……这个通讯簿,可以帮助用户更好的存储朋友的相关信息,易于添加、修改,存储和使用都很方便。
同时这个系统需要登陆才能进入,提高了通讯簿的安全性和隐私性。
通过实现通讯薄功能的实际编程了解基于Swing的图形用户界面开发和数据库操作原理,提高Swing和JDBC技术结合的综合运用能力。
二、需求分析2.1 用户需求分析通讯簿的目的在于帮助用户实现轻松管理联系人的需求。
为了用户通讯录的隐私性和安全性,通讯簿进入前需要进行系统登录,对用户的帐号和密码进行合法性验证,登录成功则进入系统功能界面。
个人通讯簿登陆系统包括四项功能:登陆、注册、修改密码、删除账号。
如果是第一次使用通讯簿,需要进行注册,注册成功后即可登陆通讯簿主界面。
班级通讯录java课程设计

班级通讯录java课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握班级通讯录的基本概念、设计和实现方法;技能目标要求学生能够独立设计并编写简单的班级通讯录应用程序;情感态度价值观目标要求学生培养团队合作意识,提高解决实际问题的能力。
通过分析课程性质、学生特点和教学要求,我们将目标分解为具体的学习成果。
课程目标旨在培养学生对Java编程语言的兴趣和自信心,提高他们的编程能力和问题解决能力。
同时,学生将在团队合作中锻炼沟通能力和协作精神,培养良好的编程习惯和道德素养。
二、教学内容根据课程目标,我们选择和了以下教学内容:1.Java编程语言基础:介绍Java语言的基本语法、数据类型、控制结构、面向对象编程等概念。
2.班级通讯录设计:讲解如何设计一个班级通讯录系统,包括功能需求分析、数据库设计、界面设计等。
3.班级通讯录实现:教授如何使用Java语言实现班级通讯录系统,包括数据存储、查询、增删改等功能。
4.团队协作与调试:培养学生团队合作意识,讲解如何进行版本控制、代码调试和优化。
三、教学方法为了激发学生的学习兴趣和主动性,我们采用多种教学方法:1.讲授法:讲解Java编程语言基础知识和班级通讯录设计原理。
2.案例分析法:分析实际案例,让学生了解班级通讯录的应用场景和实现方法。
3.实验法:学生动手编写代码,实践班级通讯录的设计和实现。
4.讨论法:分组讨论,引导学生思考问题、解决问题,提高团队合作能力。
四、教学资源我们选择和准备了以下教学资源:1.教材:《Java编程语言》等相关教材,为学生提供理论知识支持。
2.参考书:《Java核心技术》等参考书籍,丰富学生的知识体系。
3.多媒体资料:PPT、教学视频等,辅助学生更好地理解课堂内容。
4.实验设备:计算机、网络等实验环境,让学生能够顺利进行代码编写和实验操作。
五、教学评估为了全面、客观、公正地评估学生的学习成果,我们设计了以下评估方式:1.平时表现:评估学生在课堂上的参与程度、提问回答、团队合作等表现,占总评的30%。
通讯录管理程序课程设计java

下面是一个简单的Java程序,用于管理通讯录。
这个程序包括添加联系人、删除联系人、查找联系人和显示所有联系人的功能。
```javaimport java.util.ArrayList;import java.util.Scanner;class Contact {String name;String phoneNumber;Contact(String name, String phoneNumber) { = name;this.phoneNumber = phoneNumber;}}class AddressBook {ArrayList<Contact> contacts = new ArrayList<>();void addContact(Contact contact) {contacts.add(contact);}void deleteContact(String name) {for (Contact contact : contacts) { if (.equals(name)) { contacts.remove(contact);break;}}}Contact findContact(String name) {for (Contact contact : contacts) { if (.equals(name)) { return contact;}}return null;}void displayContacts() {for (Contact contact : contacts) {System.out.println("Name: " + + ", Phone Number: " + contact.phoneNumber);}}}public class Main {public static void main(String[] args) {AddressBook addressBook = new AddressBook();Scanner scanner = new Scanner(System.in);boolean running = true;while (running) {System.out.println("1. Add Contact");System.out.println("2. Delete Contact");System.out.println("3. Find Contact");System.out.println("4. Display Contacts"); System.out.println("5. Exit");System.out.print("Enter your choice: ");int choice = scanner.nextInt();scanner.nextLine(); // Consume newlineleft-over after reading intswitch (choice) {case 1: {System.out.print("Enter name: ");String name = scanner.nextLine();System.out.print("Enter phone number: ");String phoneNumber = scanner.nextLine();addressBook.addContact(newContact(name, phoneNumber));break;}case 2: {System.out.print("Enter name of contact to delete: ");String nameToDelete = scanner.nextLine();addressBook.deleteContact(nameToDelete);break;}case 3: {System.out.print("Enter name of contact to find: ");String nameToFind = scanner.nextLine();Contact foundContact = addressBook.findContact(nameToFind);if (foundContact != null) {System.out.println("Name: " + + ", Phone Number: " + foundContact.phoneNumber);} else {System.out.println("Contact not found.");}break;}case 4: {addressBook.displayContacts();break;}case 5: {running = false; // Exit the loop and end the program when user selects "Exit" option.break; // Not strictly necessary here as the loop will end and the program will exit, but included for good practice and explicitness for future reference/maintenance by other developers.}default: {System.out.println("Invalid choice, please enter a number between 1 and 5.");}}}scanner.close();}}。
通讯录课程设计 Java

攀枝花学院课程设计题目:通讯录院(系):数学与计算机学院年级专业: 12网络工程*名:**学号: ************ 指导教师:***二〇一三年十二月三十日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书注:任务书由指导教师填写。
摘要通讯工具在平常百姓家中已经是非常常见。
用Java语言开发这个强大通讯录以实现我们对大量的人员的通信信息予以记录。
以便我们使用方便。
我们可以往这个通信录系统中添加数据,也可以对记录进行修改,删除。
这样大大提高了我们的通信管理效率。
随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。
要记住所有的联系方式似乎有些困难,所以我们希望设计一个通讯录系统,记录所有的联系方式,并且能方便的查找,增加和删除,方便大家记录联系人。
当前计算机软件技术和网络技术正飞速发展,软件系统日趋大型化、复杂化,软件对于一个计算机系统是至关重要的。
因此社会对软件开发者提出了比以往更高的要求,相应的系统要求也有了很大的提高。
本系统用C++作为程序语言,设计出的系统功能强大,操作方便灵活。
关键词:通讯录;java; 数据;查询;-Ⅰ-目录摘要 (Ⅰ)1需求分析 (6)1.1需求来源 (6)1.2设计目的 (6)1.3设计要求 (6)2 功能需求描述 (6)3 总体设计 (6)3.1 功能介绍 (7)3.2 系统模块结构 (7)3.3 系统总设计流程图 (7)4 概要设计 (8)4.1登录功能界面 (8)4.2添加功能界面 (9)4.3删除功能界面 (9)4.4查询功能界面 (10)4.5统计功能界面 (10)5程序与分析 (11)5.1登陆系统 (11)5.2增加纪录 (13)5.3 删除记录 (14)5.4修改记录 (15)5.5查找记录 (17)致谢 (18)参考文献 (19)1 需求分析1.1需求来源随着人们生活水平的提高,通讯工具在平常百姓家中已经是非常常见。
要记住所有的联系方式似乎有些困难,所以我们希望设计一个通讯录系统,记录所有的联系方式,并且能方便的查找,增加和删除,方便大家记录联系人。
java课程设计通信录

java课程设计通信录一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和编程思想,能够使用Java编写简单的应用程序,特别是通信录管理系统。
具体目标如下:1.理解Java编程语言的基本语法和结构;2.掌握Java中的数据类型、变量、运算符、控制语句等基本概念;3.理解面向对象编程的基本概念,如类、对象、封装、继承等;4.掌握Java中的常用类库和方法。
5.能够使用Java编写简单的应用程序,如计算器、通信录管理系统等;6.能够使用Java编写基本的输入输出语句,读取和显示数据;7.能够使用Java中的集合类和数据结构实现简单的数据存储和管理;8.能够使用Java中的异常处理机制,处理程序中的错误和异常。
情感态度价值观目标:1.培养学生对计算机科学和编程语言的兴趣和热情;2.培养学生解决问题的能力和创新思维;3.培养学生团队合作和沟通交流的能力;4.培养学生对编程语言和技术的持续学习和进步的态度。
二、教学内容本章节的教学内容主要包括Java编程语言的基本语法和编程思想,以及通信录管理系统的设计和实现。
具体内容包括以下几个方面:1.Java编程语言的基本语法和结构:数据类型、变量、运算符、控制语句等;2.面向对象编程的基本概念:类、对象、封装、继承等;3.Java中的常用类库和方法:输入输出语句、集合类和数据结构、异常处理机制等;4.通信录管理系统的设计和实现:需求分析、系统设计、编码实现、测试和优化等。
三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式进行。
具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授Java编程语言的基本语法和编程思想;2.案例分析法:通过分析实际案例,让学生理解和掌握面向对象编程的基本概念和方法;3.实验法:通过编程实验,让学生动手实践,培养学生的编程能力和解决问题的能力。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备等。
java课程设计通讯录

java 课程设计通讯录一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和面向对象编程思想,通过实现一个简单的通讯录应用程序,培养学生解决实际问题的能力。
具体目标如下:1.掌握Java基本数据类型、运算符、控制结构。
2.理解面向对象编程的基本概念,如类、对象、封装、继承、多态。
3.熟悉Java常用类库,如String、ArrayList、HashMap等。
4.能够使用Java编写简单的程序,实现基本的数据处理和算法。
5.能够运用面向对象编程思想设计和实现应用程序。
6.掌握基本的调试和排错技巧。
情感态度价值观目标:1.培养学生对编程的兴趣和热情,提高学生解决问题的自信心。
2.培养学生团队协作、自主学习的习惯。
3.培养学生对编程事业的尊重和敬业精神。
二、教学内容本章节的教学内容主要包括以下几个部分:1.Java基本语法:数据类型、运算符、控制结构。
2.面向对象编程:类、对象、封装、继承、多态。
3.Java常用类库:String、ArrayList、HashMap等。
4.通讯录应用程序设计:需求分析、系统设计、编码实现、测试与调试。
三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:讲解Java基本语法、面向对象编程思想和通讯录应用程序设计。
2.案例分析法:分析实际案例,让学生更好地理解面向对象编程思想和应用程序设计。
3.实验法:让学生动手编写和调试程序,提高学生的实际操作能力。
4.讨论法:学生进行小组讨论,培养学生的团队协作和沟通能力。
四、教学资源为了支持本章节的教學,将准备以下教学资源:1.教材:《Java编程思想》、《Java核心技术》。
2.参考书:提供相关领域的经典教材和在线资源。
3.多媒体资料:制作PPT、视频教程等,帮助学生更好地理解教学内容。
4.实验设备:为学生提供必要的编程环境和实验设备。
五、教学评估本章节的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
java课程设计_通讯录(3)_结构

这是一个家庭通讯录,主要构成为:数据库连接部分,界面布局,算法部分,事件响应部分程序设计。
1.界面布局:界面总体效果图:主框架Frame的布局:在Frame中添加了一个toolBar工具条,布局为,工具条上附有4个按钮,分别为“增加”,“查找”,“删除”,“退出”,如图:并且分别都使用了addActionListener(this)来为各个按钮增加响应监听。
在Frame中添加了一个table表格,布局为,并为表格增加水平方向与垂直方向的滑块scrollpane,如图:弹出对话框的布局:“增加”对话框:用了一个面板,并且自定义了网格分布函数,把“姓名”,“地址”,“固定电话”,“移动电话”,各个textField以及“确定”,“取消”按钮都按照网格排布。
如果“增加”时,没有输入姓名就点确定,就会弹出messagebox,如图:“查找”对话框:在一个面板上增加了4个textfield和4个单选按钮,4个单选按钮构成一个group。
所有组件都按照网格排布。
如图:删除提示界面:如果未选择表格中的信息就点“删除”,就弹出提示如图:如果选中表格中的一栏数据,再点“删除”,则弹出提示如图:数据库连接:准备工作:使用ACCESS数据库。
安装JDBC/ODBC桥接驱动程序,建立一个名为communicate的数据库,在数据库中建立一个名为data的表格,如图:列名依次为:Name,Address,Tel,Mob,数据类型都给String(为了简便)。
在控制面板的管理工具中,找到数据源ODBC,设置其用户DNS和系统DNS,都添加一个名为Book的数据源驱动程序,并设置其数据库为,如图:到此完成数据库的设置。
建立数据库与程序的连接:建立一个数据库操作的类:class SqlUtil{public static Connection acquireConnection()throws ClassNotFoundException,SQLException {Connection con=null;try{("");String url="jdbc:odbc:Book";con=(url,"zml","");("communicate");}catch(Exception e){();}return con;}…………//后面是与数据库交互的功能实现}以上代码是与我们所建立数据库连接的必备要素,以后在各个实现与数据库交互的方法中,都利用PreparedStatement类型的效率性与方便性来建立对象,实现交互。
(完整word版)java通讯录课程设计

课程设计Ⅳ课程设计说明书在线通讯录的开发学生姓名贾长辉学号1118042025班级计算机专升本1101班成绩指导教师任民宏数学与计算机科学学院2012年3月2日课程设计Ⅳ课程设计评阅书课程设计任务书2011-2012学年第2学期专业:计算机科学与技术学号:1118042025 姓名:贾长辉课程设计名称: 课程设计Ⅳ设计题目: 在线通讯录的开发完成期限:自2012 年2 月20 日至2012 年3 月2 日共2 周设计依据、要求及主要内容(可另加附页):系统采用C/S结构,用JAVA语言开发,后台数据库采用SQL Server 2000.系统具有注册、登记、登录、浏览和后台管理功能.用户登录后,可通过登记功能将自己的通信信息加入到系统,浏览系统中的通信录信息.后台管理功能包括删除用户和删除通信录中的记录功能。
贾长辉在本次课程设计中完成需求分析、系统设计、系统实现和测试。
在课程设计过程中可参考以下文献:[1] 齐治昌,谭庆平,宁洪.软件工程[M]。
北京:高等教育出版社,2004。
[2] 陈强.会当凌绝顶:java开发修行实录[M].北京:电子工业出版社,2011[3] 黄明,梁旭,曹利超。
Java信息系统设计与开发实例[M].北京:机械工业出版社,2005指导教师(签字): 教研室主任(签字):批准日期: 年月日摘要通讯工具在平常百姓家中已经是非常常见。
于是,用Java语言开发这个后台带SQL2000数据库的强大通讯录.以实现我们对大量的人员的通信信息予以记录。
以便我们使用方便。
我们可以往这个通信录系统中添加数据,也可以对记录进行修改,删除。
这样大大提高了我们的通信管理效率。
关键词:通讯录;Java;SQL2000目录1课题描述 (1)2 设计过程 (2)2。
1软件结构 (2)2.2数据库设计 (2)2。
2。
1数据库概念结构设计 (2)2.2。
2数据库逻辑结构设计 (2)2.2。
3数据库物理结构设计 (3)2。
java电话簿课程设计

java电话簿课程设计一、课程目标知识目标:1. 让学生掌握Java编程语言的基本语法和结构,特别是面向对象编程思想。
2. 使学生理解电话簿的基本功能,如添加、删除、查找和修改联系人。
3. 帮助学生掌握使用数组或集合类(如ArrayList)存储和管理电话簿数据的方法。
技能目标:1. 培养学生运用Java语言编写电话簿管理系统的能力。
2. 培养学生运用条件语句和循环结构进行数据处理的能力。
3. 提高学生调试和优化代码的能力,确保电话簿程序的正确性和稳定性。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养其主动学习和解决问题的积极态度。
2. 培养学生团队协作精神,学会与他人共同分析、讨论和解决问题。
3. 培养学生关注实际应用,认识到编程对生活的重要性和实用性。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为实践性较强的Java编程课程,旨在让学生通过实际项目设计,掌握编程技巧和方法。
2. 学生特点:学生已具备一定的Java基础,具有较强的逻辑思维能力,但对实际项目开发尚缺乏经验。
3. 教学要求:课程注重理论与实践相结合,以项目为导向,引导学生自主探究,培养其编程能力和实际操作能力。
将目标分解为具体的学习成果:1. 学生能够独立编写一个具备基本功能的电话簿管理系统。
2. 学生能够运用所学知识对电话簿系统进行优化和扩展。
3. 学生在课程结束后,具备进一步学习和开发其他Java项目的能力。
二、教学内容1. 电话簿项目需求分析:介绍电话簿的基本功能,包括添加、删除、查找、修改联系人等。
- 相关章节:教材第3章“面向对象编程”2. Java基本语法回顾:复习Java基本数据类型、运算符、控制结构等。
- 相关章节:教材第1、2章“Java语言基础”3. 面向对象编程:讲解类与对象、封装、继承、多态等概念。
- 相关章节:教材第3章“面向对象编程”4. 数组与集合类:介绍数组和ArrayList的使用,用于存储电话簿数据。
Java课程设计通讯录

import java.sql.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.border.*;import javax.swing.table.DefaultTableModel;class Phone extends Frame implements ActionListener{ Box baseBox,boxV1;Label label;Button b1,b2,b3;Phone(){boxV1=Box.createVerticalBox();label=new Label("通讯录系统",Label.CENTER);Font f=new Font("隶书",Font.BOLD,40),font=new Font("宋体",Font.BOLD,20);label.setFont(f);boxV1.add(label);boxV1.add(Box.createVerticalStrut(8));b1=new Button("信息查询");b1.setBackground(Color.pink);b1.setFont(font);boxV1.add(b1);boxV1.add(Box.createVerticalStrut(8));b2=new Button("信息管理");b2.setBackground(Color.pink);b2.setFont(font);boxV1.add(b2);boxV1.add(Box.createVerticalStrut(8));b3=new Button("退出系统");b3.setBackground(Color.pink);b3.setFont(font);boxV1.add(b3);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10));setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("信息查询")){new search();}elseif(cmd.equals("信息管理")){new manager();}elseif (cmd.equals("退出系统")){System.exit(0);}}public static void main(String args[]){new Phone();}}/////////////////////*查询*///////////////////////////////class search extends Frame implements ActionListener{Button b1,b2,b3,b4,b5;Box baseBox,boxV1;Label label;search(){Font font=new Font("隶书",Font.BOLD,20);boxV1=Box.createVerticalBox();b1=new Button("显示全部信息");b1.setBackground(Color.pink);b1.setFont(font);boxV1.add(b1);boxV1.add(Box.createVerticalStrut(8));b2=new Button("按姓名查询");b2.setBackground(Color.pink);b2.setFont(font);boxV1.add(b2);boxV1.add(Box.createVerticalStrut(8));b3=new Button("按地址查询");b3.setBackground(Color.pink);b3.setFont(font);boxV1.add(b3);boxV1.add(Box.createVerticalStrut(8));b4=new Button("关键字查询");b4.setBackground(Color.pink);b4.setFont(font);boxV1.add(b4);boxV1.add(Box.createVerticalStrut(8));b5=new Button("退出查询");b5.setBackground(Color.pink);b5.setFont(font);boxV1.add(b5);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10)); setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("显示全部信息")){new all();}else if(cmd.equals("按姓名查询")){new name();}else if(cmd.equals("按地址查询")){new address();}elseif(cmd.equals("关键字查询")){new chazhao();}elseif (cmd.equals("退出查询")){int result = JOptionPane.showOptionDialog(null,"是否真的退出查询?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}////////////////////////////显示数据库中已有的全部信息//////////////////////////////class all extends Frame implements ActionListener{Button b1,b2;Box baseBox,boxV1,boxV2;Label label;ScrollPane scrollpane=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);JTable jtable=new JTable();JScrollPane jscrollpane = new JScrollPane(jtable);//将表格加个滚动条all(){boxV1=Box.createVerticalBox();b1=new Button(" 显示");b1.setBackground(Color.pink);boxV1.add(b1);boxV1.add(Box.createVerticalStrut(8));boxV2=Box.createVerticalBox();b2=new Button(" 退出");b2.setBackground(Color.pink);boxV2.add(b2);boxV2.add(Box.createVerticalStrut(8));b1.addActionListener(this);b2.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(boxV2);baseBox.add(Box.createHorizontalStrut(10));setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals(" 显示")){String[] col = { "姓名", "地址","职业","手机","住宅电话", "办公电话","单位","E-mail","备注"};DefaultTableModel mm= new DefaultTableModel(col,0); //定义一个表的模板try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载access数据库驱Connection conn = DriverManager.getConnection("jdbc:odbc:通讯录","admin","1111");Statement stmt = conn.createStatement();jscrollpane.setVisible(true);ResultSet rs=stmt.executeQuery("SELECT * FROM 通讯录数据包");//将查询得到的结果集给rswhile(rs.next()){String name = rs.getString(1);String address = rs.getString(2);String zy = rs.getString(3);String phone = rs.getString(4);String tel = rs.getString(5);String btel = rs.getString(6);String dw = rs.getString(7);String em = rs.getString(8);String bz = rs.getString(9);String[] row={name,address,zy,phone,tel,btel,dw,em,bz}; //将一行的数据存在row 字符串数组里mm.addRow(row);//添加在表模板中}jtable.setModel(mm);//将jtable这个表设置为刚刚定义的模板jtable.setPreferredScrollableViewportSize(new Dimension(1000,400));scrollpane.setSize(380,150);scrollpane.add(jscrollpane);add(scrollpane);jscrollpane.setVisible(true);validate();//将加载了表的滚动条在中显示}catch(Exception e1){}}else if(cmd.equals(" 退出")){int result = JOptionPane.showOptionDialog(null,"是否真的退出查询?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}/////////////////////////////按姓名查找///////////////////////////////////class name extends Frame implements ActionListener{Button b1,b2;Box baseBox,boxV1,boxV2,boxV3,boxV4;Label label;TextField tt;JTable jtable=new JTable();ScrollPane scrollpane=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);JScrollPane jscrollpane = new JScrollPane(jtable);//将表格加个滚动条name(){boxV1=Box.createVerticalBox();label=new Label("请输入要查找的联系人姓名");boxV1.add(label);boxV1.add(Box.createVerticalStrut(8));boxV2=Box.createVerticalBox();tt=new TextField(12);boxV2.add(tt);boxV2.add(Box.createVerticalStrut(8));boxV3=Box.createVerticalBox();b1=new Button("查询");b1.setBackground(Color.pink);boxV3.add(b1);boxV3.add(Box.createVerticalStrut(8));boxV4=Box.createVerticalBox();b2=new Button("退出");b2.setBackground(Color.pink);boxV4.add(b2);boxV4.add(Box.createVerticalStrut(8));b1.addActionListener(this);b2.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(boxV2);baseBox.add(boxV3);baseBox.add(boxV4);baseBox.add(Box.createHorizontalStrut(10));setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){int n=0;String cmd=e.getActionCommand();if(cmd.equals("查询")){String[] col = { "姓名", "地址","职业","手机","住宅电话", "办公电话","单位","E-mail","备注"};DefaultTableModel mm= new DefaultTableModel(col,0); //定义一个表的模板try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载access数据库驱Connection conn = DriverManager.getConnection("jdbc:odbc:通讯录","admin","1111");Statement stmt = conn.createStatement();String ss=tt.getText();jscrollpane.setVisible(true);ResultSet rs=stmt.executeQuery("SELECT * FROM 通讯录数据包");//将查询得到的结果集给rswhile(rs.next()){String name = rs.getString(1);String address = rs.getString(2);String zy = rs.getString(3);String phone = rs.getString(4);String tel = rs.getString(5);String btel = rs.getString(6);String dw = rs.getString(7);String em = rs.getString(8);String bz = rs.getString(9);if(name.equals(ss)){String[] row={name,address,zy,phone,tel,btel,dw,em,bz};//将一行的数据存在row 字符串数组里n++;mm.addRow(row);//添加在表模板}}if(n<=0){JOptionPane.showMessageDialog(null, "信息不存在!","验证错误",JOptionPane.ERROR_MESSAGE);int result = JOptionPane.showOptionDialog(null,"是否现在添加?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"是","否"},"否");if (result == JOptionPane.YES_OPTION){new add();}else{this.setVisible(false);}}jtable.setModel(mm);//将jtable这个表设置为刚刚定义的模板jtable.setPreferredScrollableViewportSize(new Dimension(950,200));scrollpane.setSize(380,150);scrollpane.add(jscrollpane);add(scrollpane);jscrollpane.setVisible(true);validate();//将加载了表的滚动条在中显示}catch(Exception e1){}}else if(cmd.equals("退出")){int result = JOptionPane.showOptionDialog(null,"是否真的退出查询?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}//////////////////////////////按地址查找///////////////////////////////////class address extends Frame implements ActionListener{Button b1,b2;Box baseBox,boxV1,boxV2,boxV3,boxV4;Label label;TextField tt;JTable jtable=new JTable();ScrollPane scrollpane=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);JScrollPane jscrollpane = new JScrollPane(jtable);//将表格加个滚动条address(){boxV1=Box.createVerticalBox();label=new Label("请输入要查找的联系人地址");boxV1.add(label);boxV1.add(Box.createVerticalStrut(8));boxV2=Box.createVerticalBox();tt=new TextField(12);boxV2.add(tt);boxV2.add(Box.createVerticalStrut(8));boxV3=Box.createVerticalBox();b1=new Button("查询");b1.setBackground(Color.pink);boxV3.add(b1);boxV3.add(Box.createVerticalStrut(8));boxV4=Box.createVerticalBox();b2=new Button("退出");b2.setBackground(Color.pink);boxV4.add(b2);boxV4.add(Box.createVerticalStrut(8));b1.addActionListener(this);b2.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(boxV2);baseBox.add(boxV3);baseBox.add(boxV4);baseBox.add(Box.createHorizontalStrut(10));setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){int n=0;String cmd=e.getActionCommand();if(cmd.equals("查询")){String[] col = { "姓名", "地址","职业","手机","住宅电话", "办公电话","单位","E-mail","备注" };DefaultTableModel mm= new DefaultTableModel(col,0); //定义一个表的模板try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载access数据库驱Connection conn = DriverManager.getConnection("jdbc:odbc:通讯录","admin","1111");Statement stmt = conn.createStatement();String ss=tt.getText();jscrollpane.setVisible(true);ResultSet rs=stmt.executeQuery("SELECT * FROM 通讯录数据包");//将查询得到的结果集给rswhile(rs.next()){String name = rs.getString(1);String address = rs.getString(2);String zy = rs.getString(3);String phone = rs.getString(4);String tel = rs.getString(5);String btel = rs.getString(6);String dw = rs.getString(7);String em = rs.getString(8);String bz = rs.getString(9);if(address.equals(ss)){String[] row={name,address,zy,phone,tel,btel,dw,em,bz};//将一行的数据存在row 字符串数组里n++;mm.addRow(row);//添加在表模板}}if(n<=0){JOptionPane.showMessageDialog(null, "信息不存在!","验证错误",JOptionPane.ERROR_MESSAGE);int result = JOptionPane.showOptionDialog(null,"是否现在添加?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"是","否"},"否");if (result == JOptionPane.YES_OPTION){new add();setVisible(false);}else{setVisible(false);}}jtable.setModel(mm);//将jtable这个表设置为刚刚定义的模板jtable.setPreferredScrollableViewportSize(new Dimension(950,200));jscrollpane.setVisible(true);scrollpane.setSize(380,150);scrollpane.add(jscrollpane);add(scrollpane);validate();//将加载了表的滚动条在中显示}catch(Exception e1){}}else if(cmd.equals("退出")){int result = JOptionPane.showOptionDialog(null,"是否真的退出查询?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}////////////////////////////关键字查找////////////////////////////class chazhao extends Frame implements ActionListener{Button b1,b2;Box baseBox,boxV1,boxV2,boxV3,boxV4;Label label;TextField tt;JTable jtable=new JTable();ScrollPane scrollpane=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);JScrollPane jscrollpane = new JScrollPane(jtable);//将表格加个滚动条chazhao(){boxV1=Box.createVerticalBox();label=new Label("请输入要查找的关键字");boxV1.add(label);boxV1.add(Box.createVerticalStrut(8));boxV2=Box.createVerticalBox();tt=new TextField(12);boxV2.add(tt);boxV2.add(Box.createVerticalStrut(8));boxV3=Box.createVerticalBox();b1=new Button("查询");b1.setBackground(Color.pink);boxV3.add(b1);boxV3.add(Box.createVerticalStrut(8));boxV4=Box.createVerticalBox();b2=new Button("退出");b2.setBackground(Color.pink);boxV4.add(b2);boxV4.add(Box.createVerticalStrut(8));b1.addActionListener(this);b2.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(boxV2);baseBox.add(boxV3);baseBox.add(boxV4);baseBox.add(Box.createHorizontalStrut(10));setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){int n=0;String cmd=e.getActionCommand();if(cmd.equals("查询")){String[] col = { "姓名", "地址","职业","手机","住宅电话", "办公电话","单位","E-mail","备注"};DefaultTableModel mm= new DefaultTableModel(col,0); //定义一个表的模板try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载access数据库驱Connection conn = DriverManager.getConnection("jdbc:odbc:通讯录","admin","1111");Statement stmt = conn.createStatement();String ss=tt.getText();jscrollpane.setVisible(true);ResultSet rs=stmt.executeQuery("SELECT * FROM 通讯录数据包WHERE 姓名LIKE '"+ss+"%'");//将查询得到的结果集给rswhile(rs.next()){String name = rs.getString(1);String address = rs.getString(2);String zy = rs.getString(3);String phone = rs.getString(4);String tel = rs.getString(5);String btel = rs.getString(6);String dw = rs.getString(7);String em = rs.getString(8);String bz = rs.getString(9);String[] row={name,address,zy,phone,tel,btel,dw,em,bz}; //将一行的数据存在row 字符串数组里mm.addRow(row);//添加在表模板中n++;}if(n<=0){JOptionPane.showMessageDialog(null, "信息不存在!","验证错误",JOptionPane.ERROR_MESSAGE);int result = JOptionPane.showOptionDialog(null,"是否现在添加?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"是","否"},"否");if (result == JOptionPane.YES_OPTION){new add();setVisible(false);}else{setVisible(false);}}jtable.setModel(mm);//将jtable这个表设置为刚刚定义的模板jtable.setPreferredScrollableViewportSize(new Dimension(1000,200));jscrollpane.setVisible(true);scrollpane.setSize(380,150);scrollpane.add(jscrollpane);add(scrollpane);validate();//将加载了表的滚动条在中显示}catch(Exception e1){}}else if(cmd.equals("退出")){int result = JOptionPane.showOptionDialog(null,"是否真的退出查询?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}/////////////////////*管理查询*///////////////////////////////class manager extends Frame implements ActionListener{Button b1,b2,b3,b4;Box baseBox,boxV1;Label label;manager(){Font font=new Font("宋体",Font.BOLD,20);boxV1=Box.createVerticalBox();b1=new Button("添加新记录");b1.setBackground(Color.pink);b1.setFont(font);boxV1.add(b1);boxV1.add(Box.createVerticalStrut(12));b2=new Button("修改已有记录");b2.setBackground(Color.pink);b2.setFont(font);boxV1.add(b2);boxV1.add(Box.createVerticalStrut(12));b3=new Button("删除已有记录");b3.setBackground(Color.pink);b3.setFont(font);boxV1.add(b3);boxV1.add(Box.createVerticalStrut(12));b4=new Button("退出管理");b4.setBackground(Color.pink);b4.setFont(font);boxV1.add(b4);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10)); setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("添加新记录")){new add();}elseif(cmd.equals("修改已有记录")){new ww();}elseif(cmd.equals("删除已有记录")){new delete();}elseif (cmd.equals("退出管理")){int result = JOptionPane.showOptionDialog(null,"是否真的退出?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}//////////////////////添加信息//////////////////////////////class add extends Frame implements ActionListener{Box baseBox ,boxV1,boxV2;TextField t1,t2,t3,t4,t5,t6,t7,t8,t9;Button v1,v2;Label label,s1,s2,s3,s4,s5,s6,s7,s8,s9;JTable jtable=new JTable();Choice choice;JScrollPane jscrollpane = new JScrollPane(jtable);//将表格加个滚动条add(){Font font=new Font("宋体",Font.BOLD,17); label=new Label("添加新号码",Label.CENTER); label.setBackground(Color.pink);label.setFont(font);add(label);boxV1=Box.createVerticalBox();s1=new Label("姓名",Label.CENTER);boxV1.add(s1);boxV1.add(Box.createVerticalStrut(8));s2=new Label("地址",Label.CENTER);boxV1.add(s2);boxV1.add(Box.createVerticalStrut(8));s3=new Label("职业",Label.CENTER);boxV1.add(s3);boxV1.add(Box.createVerticalStrut(8));s4=new Label("手机",Label.CENTER);boxV1.add(s4);boxV1.add(Box.createVerticalStrut(8));s5=new Label("住宅电话",Label.CENTER); boxV1.add(s5);boxV1.add(Box.createVerticalStrut(8));s6=new Label("办公电话",Label.CENTER); boxV1.add(s6);boxV1.add(Box.createVerticalStrut(8));s7=new Label("单位",Label.CENTER);boxV1.add(s7);boxV1.add(Box.createVerticalStrut(8));s8=new Label("E-mail",Label.CENTER);boxV1.add(s8);boxV1.add(Box.createVerticalStrut(8));s9=new Label("备注",Label.CENTER);boxV1.add(s9);boxV1.add(Box.createVerticalStrut(8));boxV2=Box.createVerticalBox();t1=new TextField(20);boxV2.add(t1);boxV2.add(Box.createVerticalStrut(10));t2=new TextField(20);boxV2.add(t2);boxV2.add(Box.createVerticalStrut(10));t3=new TextField(20);boxV2.add(t3);boxV2.add(Box.createVerticalStrut(10));t4=new TextField(20);boxV2.add(t4);boxV2.add(Box.createVerticalStrut(10));t5=new TextField(20);boxV2.add(t5);boxV2.add(Box.createVerticalStrut(10));t6=new TextField(20);boxV2.add(t6);boxV2.add(Box.createVerticalStrut(12));t7=new TextField(20);boxV2.add(t7);boxV2.add(Box.createVerticalStrut(12));t8=new TextField(20);boxV2.add(t8);boxV2.add(Box.createVerticalStrut(14)); choice=new Choice();choice.add("");choice.add("朋友");choice.add("家人");choice.add("同学");choice.add("同事");choice.add("VIP");boxV2.add(choice);boxV2.add(Box.createVerticalStrut(14)); baseBox=Box.createHorizontalBox(); baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10)); baseBox.add(boxV2);setLayout(new FlowLayout());add(baseBox);v1=new Button(" 确定");v1.setBackground(Color.pink);v2=new Button(" 取消");v2.setBackground(Color.pink);add(v1);add(v2);v1.addActionListener(this);v2.addActionListener(this);setBounds(120,125,280,420);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals(" 确定")){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con=DriverManager.getConnection("jdbc:odbc:通讯录","admin","1111");Statement stmt = con.createStatement();String ss=t1.getText();jscrollpane.setVisible(true);ResultSet rs=stmt.executeQuery("SELECT * FROM 通讯录数据包WHERE 姓名='"+ss+"'");//将查询得到的结果集给rsif(rs.next()){int answer = JOptionPane.showOptionDialog(null,"已存在,是否保存?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"是","否"},"否");if(answer==JOptionPane.YES_OPTION){String name= t1.getText();String address = t2.getText();String zy = t3.getText();String phone= t4.getText();String tel= t5.getText();String btel = t6.getText();String dw= t7.getText();String em = t8.getText();String bz = choice.getSelectedItem();String SQLOrder="Insert Into 通讯录数据包Values ('"+name+"','"+address+"','"+zy+"','"+phone+"','"+tel+"','"+btel+"','"+dw+"','"+em+"','"+bz+"')";stmt.executeUpdate(SQLOrder);JOptionPane.showMessageDialog (null,"添加成功!","",JOptionPane.W ARNING_MESSAGE);t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");t6.setText("");t7.setText("");t8.setText("");setVisible(false);}else{setVisible(false);}}else{String name= t1.getText();String address = t2.getText();String zy = t3.getText();String phone= t4.getText();String tel= t5.getText();String btel = t6.getText();String dw= t7.getText();String em = t8.getText();String bz = choice.getSelectedItem();String SQLOrder="Insert Into 通讯录数据包Values ('"+name+"','"+address+"','"+zy+"','"+phone+"','"+tel+"','"+btel+"','"+dw+"','"+em+"','"+bz+"')";stmt.executeUpdate(SQLOrder);JOptionPane.showMessageDialog (null,"添加成功!","",JOptionPane.W ARNING_MESSAGE);t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");t6.setText("");t7.setText("");t8.setText("");setVisible(false);}int aa = JOptionPane.showOptionDialog(null," 是否继续添加新的记录?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"是","否"},"是");if (aa == JOptionPane.YES_OPTION){new add();}con.close();}catch(Exception em){}}else if(cmd.equals(" 取消")){int result = JOptionPane.showOptionDialog(null,"是否真的取消?","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}}}////////////////////选择修改/////////////////class ww extends Frame implements ActionListener{Box baseBox,boxV1;Label label;Button b1,b2;ww(){Font f=new Font("隶书",Font.BOLD,30),font=new Font("宋体",Font.BOLD,20);boxV1=Box.createVerticalBox();label=new Label("选择操作");label.setFont(f);boxV1.add(label);boxV1.add(Box.createVerticalStrut(12));b1=new Button("修改记录");b1.setBackground(Color.pink);b1.setFont(font);boxV1.add(b1);boxV1.add(Box.createVerticalStrut(12));b2=new Button("退出修改");b2.setBackground(Color.pink);b2.setFont(font);boxV1.add(b2);b1.addActionListener(this);b2.addActionListener(this);baseBox=Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10));setLayout(new FlowLayout());add(baseBox);setBounds(125,125,450,280);setVisible(true);setResizable(false);//窗口不可调整addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("修改记录")){new byadr();}else if(cmd.equals("退出修改")){int result = JOptionPane.showOptionDialog(null,"是否真的退出?","系统提示", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,new String[] {"确定","取消"},"取消");if (result == JOptionPane.YES_OPTION){this.setVisible(false);}}。
java通讯录课程设计报告

课程设计报告:Java通讯录一、引言本次课程设计是关于Java通讯录的开发,旨在让我们更深入地理解Java编程语言在现实生活中的应用。
通讯录是一种常见的应用程序,它可以帮助我们管理联系人信息,方便我们与朋友和家人保持联系。
二、需求分析本次课程设计的目标是根据用户需求,设计并实现一个功能齐全的Java通讯录应用程序。
具体需求如下:用户可以添加联系人信息,包括姓名、电话号码、电子邮件地址等。
用户可以删除联系人信息。
用户可以编辑联系人信息。
用户可以按姓名、电话号码或电子邮件地址搜索联系人信息。
用户可以查看所有联系人信息。
三、设计数据库设计为了存储联系人信息,我们选择使用Java内置的ArrayList类作为数据库。
ArrayList是一个动态数组,可以根据需要自动增长。
我们将使用ArrayList的add()方法添加联系人信息,使用get()方法获取联系人信息,使用remove()方法删除联系人信息。
界面设计我们使用Java Swing库来创建用户界面。
界面包括以下组件:JLabel:显示提示信息和标题。
JTextField:用于输入和编辑联系人信息。
JButton:用于触发添加、删除、编辑和搜索等操作。
JTable:用于显示所有联系人信息。
JComboBox:用于选择搜索条件。
四、实现添加联系人信息当用户点击“添加”按钮时,程序会创建一个新的联系人对象,并将用户输入的信息设置到该对象中。
然后,程序将该对象添加到ArrayList中。
删除联系人信息当用户选择要删除的联系人并点击“删除”按钮时,程序会从ArrayList中删除该联系人对象。
编辑联系人信息当用户选择要编辑的联系人并点击“编辑”按钮时,程序会将该联系人的信息显示在文本框中,以便用户进行修改。
修改完成后,程序会将修改后的信息保存到ArrayList中。
搜索联系人信息当用户选择搜索条件并输入搜索关键字时,程序会在ArrayList 中查找符合条件的联系人对象,并将其显示在表格中。
名片通信录java课程设计

名片通信录java课程设计一、课程目标知识目标:1. 让学生掌握Java基础语法,特别是面向对象编程的基本概念;2. 使学生理解名片通信录项目的基本需求,掌握如何设计类与对象;3. 帮助学生掌握数组、字符串等基本数据结构在Java中的应用;4. 引导学生掌握简单的文件读写操作,实现数据的持久化存储。
技能目标:1. 培养学生运用Java语言解决实际问题的能力,具备基本的编程技巧;2. 培养学生分析项目需求、设计程序结构的能力,能够独立完成小型项目的开发;3. 提高学生的逻辑思维能力,使其能够运用所学知识解决复杂问题。
情感态度价值观目标:1. 培养学生面对编程挑战时保持积极、主动的态度,勇于克服困难;2. 培养学生的团队协作意识,学会与他人分享、交流编程经验;3. 培养学生的创新意识,激发学生探索新技术的兴趣。
本课程针对高年级学生,结合Java编程语言和实际项目案例,旨在提高学生的编程实践能力。
课程性质为实践性较强的学科,要求学生在掌握基本语法的基础上,学会运用所学知识解决实际问题。
通过本课程的学习,学生将能够独立完成名片通信录项目的开发,为今后进一步学习Java技术打下坚实基础。
二、教学内容1. Java基本语法复习:包括变量声明、数据类型、运算符、控制流程(条件语句、循环语句)等基础知识点;相关教材章节:第一章至第三章。
2. 面向对象编程概念:类与对象、构造方法、封装、继承、多态等;相关教材章节:第四章至第六章。
3. 数组与字符串:数组的使用、字符串操作及其在项目中的应用;相关教材章节:第七章、第十章。
4. 文件读写操作:文件输入输出流、文件操作在名片通信录中的应用;相关教材章节:第十八章。
5. 名片通信录项目实战:分析需求、设计类与对象、实现功能模块、整合测试;相关教材章节:综合案例。
教学进度安排:第一周:复习Java基本语法;第二周:学习面向对象编程概念;第三周:数组与字符串操作;第四周:文件读写操作;第五周至第六周:名片通信录项目实战。
通讯录管理系统课程设计报告Java

通讯录管理系统课程设计报告Java1. 简介通讯录管理系统是一种方便用户存储和管理联系人信息的工具。
本课程设计将使用Java语言开发一个简单的通讯录管理系统,实现对联系人信息的增删改查功能。
通过本项目的实践,学习者将掌握Java编程语言的基础知识和面向对象编程的技巧。
2. 功能需求通讯录管理系统应包含以下功能: - 添加联系人信息:用户可以输入联系人的姓名、电话号码、邮箱等信息添加到通讯录中。
- 显示所有联系人信息:系统能够展示所有已保存在通讯录中的联系人信息。
- 查找联系人信息:用户可以通过姓名或电话号码查找特定联系人的信息。
- 修改联系人信息:用户可以对已保存的联系人信息进行修改。
- 删除联系人信息:用户可以删除通讯录中的联系人信息。
实现以上功能需要设计相应的数据结构和算法,以及编写用户交互界面。
3. 技术实现3.1 数据结构在Java中,可以使用ArrayList或HashMap等数据结构来存储联系人信息。
ArrayList适用于有序的联系人列表,而HashMap适用于根据键值快速查找联系人信息。
3.2 用户交互界面用户交互界面可以通过Java的Swing或JavaFX等GUI工具包来实现。
设计一个简洁明了的界面,包含菜单栏、输入框、按钮等组件,以方便用户操作。
3.3 功能实现•添加联系人信息:用户输入信息后,将联系人信息添加到数据结构中。
•显示所有联系人信息:遍历数据结构,将所有联系人信息展示在界面上。
•查找联系人信息:根据用户输入的查询条件,在数据结构中查找对应的联系人信息。
•修改联系人信息:根据用户输入的修改信息,更新数据结构中相应的联系人信息。
•删除联系人信息:根据用户输入的删除条件,从数据结构中移除对应的联系人信息。
4. 总结通讯录管理系统是一个简单实用的应用程序,能够帮助用户有效管理联系人信息。
通过本课程设计,学习者将学习如何使用Java语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。
课程设计 java通讯录

海南师范大学课程设计报告书课程名称:j a v a通讯录姓名:陈万洲学号:201224010203专业:计算机科学与技术所在院系:信息学院指导教师:文斌日期: 2013年12月20日海南师范大学课程设计(论文)任务书信息科学技术学院学院计算机科学与技术专业计本(1)班一、课程设计(论文)题目通讯录管理设计二、课程设计(论文)工作自 2013 年 9 月23 日起至2013 年10 月 13 日止。
三、课程设计(论文) 地点: 信息科学技术学院四、课程设计(论文)内容要求:1.本课程设计的目的(1)掌握java语言的程序设计方法;(2)理论联系实际,进一步提高学生的软件开发技术;(3)培养学生分析、解决问题的能力;(4)提高学生实践论文撰写能力。
2.课程设计的任务及要求1)课程设计任务:(1)设一个通信录由以下几项数据信息构成:数据项类型姓名字符串地址字符串邮政编码字符串电话号码字符串(2)1.主要功能:(1)能建立、查询、修改和增删学生通讯录(2)能够按多种方式进行查询(3)界面友好,易于操作2)课程设计论文编写要求(1)课程设计任务及要求(2)设计思路--工作原理、功能规划(3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。
(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(7)报告按规定排版打印,要求装订平整,否则要求返工;(8)课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。
4)参考文献:(1)《java面向对象程序设计》董晓国清华大学出版社(2)《java程序设计教程》迟丽华清华大学出版社学生签名:陈万洲2013 年12 月24 日通讯录管理系统的设计与实现学生姓名:陈万洲指导老师:文斌【中文摘要】这个基于java编写的个人通讯录管理系统含有添加、删除、查找等基本功能,采用的是JDBC-ODBC桥实现数据库的连接,ODBC数据源名称chengwz.mbd。
通讯录java课程设计

通讯录java课程设计一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:学生需要掌握Java语言中的基本语法、数据类型、控制结构、数组、字符串等基础知识,了解Java语言的面向对象编程思想,包括类、对象、封装、继承和多态等概念。
2.技能目标:学生能够运用Java语言编写简单的程序,如计算器、通讯录等,培养学生解决问题的能力,提高学生的编程实践能力。
3.情感态度价值观目标:通过学习Java语言,培养学生对计算机编程的兴趣,激发学生的创新意识,培养学生的团队合作精神,使学生认识到编程在实际生活中的应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据类型。
2.控制结构和数组。
3.字符串操作。
4.面向对象编程思想,包括类、对象、封装、继承和多态等概念。
5.Java语言的编程实践,如计算器、通讯录等程序的编写。
三、教学方法本节课采用以下几种教学方法:1.讲授法:讲解Java语言的基本语法、数据类型、控制结构、数组、字符串等基础知识。
2.案例分析法:通过分析计算器、通讯录等实际案例,使学生理解和掌握面向对象编程思想。
3.实验法:让学生动手编写程序,培养学生的编程实践能力。
4.讨论法:在课堂上引导学生进行思考和讨论,激发学生的创新意识,提高学生的团队合作精神。
四、教学资源本节课的教学资源包括以下几个方面:1.教材:Java语言程序设计。
2.参考书:Java核心技术、Java编程思想等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络等。
五、教学评估本节课的评估方式包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
2.作业:布置相关的编程作业,评估学生对知识的理解和应用能力。
3.考试:进行期中和期末考试,全面测试学生对Java语言的基本语法、数据类型、控制结构、数组、字符串等知识的掌握程度。
java个人通讯录课程设计报告

j a v a个人通讯录课程设计报告Prepared on 24 November 2020别山东交通学院面向对象课程设计个人通信录管理信息系统的设计与实现院(系)别信息科学与电气工程学院班级学号姓名指导教师时间 2014-08-25—2014-09-5课程设计任务书题目个人通讯录管理系统院 (部) 信息科学与电气工程学院专业计算机科学与技术班级学生姓名学号08 月 25 日至 09 月 5 日共 2 周指导教师(签字)院长(签字)年月日成绩评定表目录课程设计概述本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力2本次课程设计主要目的及要求:设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。
通讯录记录信息包括:姓名,电话,email等。
(1)通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
3.设计思想:个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会提示是否继续添加;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注即可完成修改;(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
public List<Group> loadGroups(String sql) {
List<Group> groups=new ArrayList<Group>();
try {
Statement sta=conn.createStatement(); Statement sta2=conn.createStatement(); ResultSet res=sta.executeQuery(sql);
import java.sql.Connection;
9
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List;
([groupid]) REFERENCES [Groups]([id]));
insert into Contacts values ('张三','photo.gif','阿三 ','13972632075','412383550','','1984-09-08',1,'铁杆');
武汉理工大学华夏学院 课程设计报告书
课程名称: JAVA 课程设计
题 目: 个人通讯博系统的设计与开发
系 名:
信息工程系
专业班级:
软件 1091
姓 名:
学 号:
10212809121
指导教师:
詹春华 邱珊
2011 年 6 月 24 日
2
课程设计任务书
学生姓名:
专业班级: 软件 1091
指导教师: 詹春华 邱珊 工作单位: 信息工程系
8
create table Contacts(id int identity primary key,name varchar(20) not null,photo varchar(20),nickname varchar(20),cellphone varchar(11),qq varchar(11),homepage varchar(100),birthday varchar(10),groupid int not null ,description text,CONSTRAINT [FK_Contact_Group] FOREIGN KEY
3
【设计题目】个人通讯博系统的设计与开发 【开发环境】硬件环境:微机系列,内存 2G,软件环境:Microsoft Windows XP 【开发工具】Myeclipse、SQL sever 2000 【完成时间】 2010-6–20-----2010.6.24 【需求分析】通讯录是我们日常生活中经常用到的抽象通讯管理工具,用其自身齐全的功能 给人们带来通讯的方便。在本次的课程设计中我们用 java 设计这个工具。本工具实现了通 讯录的登录系统、群组及联系人的添加、修改、删除及查询功能。供有筛选功能,即程序能 够按照输入的条件进行筛选。列出满足条件的人员名单和显示全部信息。可添加新记录,修 改当前记录,删除当前记录。设计界面美观、实用。 【系统总体设计】 系统将由两部分组成:前台用户界面以及后台程序和数据库系统。 在此将逐个地给出各个层次中的每个模块的设计考虑。以下给出的提纲是针对一般情况的。 对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶 属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。 此系统包括登录模块,运行系统,输入密码后,进入系统;添加模块,输入信息,存入数据 库;查询模块,检索群组或联系人;修改模块,编辑其信息后存入数据库;删除模块,从数 据库中删除。 其系统总体架构图为:
String pname=res2.getString("name"); String photo=res2.getString("photo"); String nickname=res2.getString("nickname"); String cellphone=res2.getString("cellphone"); String qq=res2.getString("QQ"); String homepage=res2.getString("homepage"); String birthday=res2.getString("birthday"); int groupid=res2.getInt("groupid"); String pdescription=res2.getString("description");
try {
String driver=resourceManager.getString("jdbc.driver"); String url=resourceManager.getString("jdbc.url"); String user=resourceManager.getString("er");; String pass=resourceManager.getString("jdbc.password"); Class.forName(driver); conn=DriverManager.getConnection(url,user,pass); } catch(Exception e) { e.printStackTrace(); } } } } }
2.2 主界面 (VeiwGui.java)
5
2.3 添加模块: 用户可以根据自己的需要将群组或联系人的信息加入到自己的通讯录中,联系人的信息
包括:姓名、照片、昵称、手机、QQ 等基本信息。 添加联系人界面为:
功能说明: 用户可以根据自己的需要将联系人的信息加入到自己的通讯录中。
添加组:
6
2.4 查询模块: 在此用户可以根据联系人信息中的某一信息(人名、昵称或分组)查找相应的联系人。并
ResultSet res2=null; Group group = null;
for(;res.next();) {
int id=res.getInt("id"); String name=res.getString("name"); String description=res.getString("description");
的群管理表。
3.4 数据库与表的连接 数据库与表的连接主要是通过利用 JDBC 与 sqlserver 的桥连接的方法来实现的,具体
的步骤如下所示: a).加载驱动 Class.forName(“com..microsoft.jdbc.sqlserver.SQLServerDriver”)。 b).获得连接 Connection ct =
设计题目: 个人通讯博系统的设计与开发
初始条件:
《个人通讯博》是用来记录,维护个人的亲朋好友的各种联系方式的一个微,以及说明书撰写等具体要求)
使用 JAVA 开发一个个人通讯博系统, 包括使用 JAVA SWING 技术进行前台用户界面的设 计和开发, 后台关系数据库的设计以及使用 JDBC 技术与后台数据库进行连接, 并能调试运 行。该系统将能够实现用户登录功能,并对群组信息和联系人信息进行增加,删除,修改和查 询的功能。
DriverManager.getConnection(“jdbc:Microsoft:sqlserver://localhost:1433:databas eName:testDb”,”sa”,”sa”)。
c).操作数据库 PreparedStatement ps = ct.preparedstatement(sql); ResultSet rs = ps.executeQuery()。
install4j 使用
指 导 教 师 签 字:
系 主 任 签 字:
【系统详细设计】
20 2011 年 6 月 15 日 2011 年 6 月 17 日
4
1.系统的各模块构造图为:
ContactBook
PersonGui
GroupGui
viewGui
PersonQueryGui
PersonSouGui
将全部的信息输出。
7
2.5 修改模块 如:组修改模块:
3.数据库的操作
数据库中所要建立的表 3.1 用户登录表(UserLogin)
根据用户的情况在 sqlserver2000 中新建一个拥有两个字段(username,password)的 用户登录表。 建立数据库代码如下: create database testDB use testDB create table Users(username varchar(20) not null,password varchar(6) not null); insert into Users values ('duyubo','123'); drop table Groups; create table Groups(id int identity primary key,name varchar(100) not null,description text); insert into Groups values ('我的好友','我的好友'); drop table Contacts;
【系统调试和测试】 刚开始接触这个课题时,只是有一部分的代码,很多都是要自己来完成的,但是由于有