手把手教你写代码——基于控制台的通讯录管理系统(单表)

这篇具有很好参考价值的文章主要介绍了手把手教你写代码——基于控制台的通讯录管理系统(单表)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

栏目介绍

本栏目专为入门java学习者设计的一些简单的入门项目

功能介绍

本项目为简单的基于控制台的通讯录管理系统,所需要的环境仅仅为jdk以及mysql(版本不限)!只有一个简单的eclipse软件以及我们的mysql可视化工具(视频使用navicat)

本项目数据库表仅有一个,单表操作,方便学习!
本项目使用mvc设计模式,使用面向对象的开发思想
本项目使用最基础的jdbc的方式链接的数据库

本项目主要实现的功能有:

  • 系统运行成功后的欢迎及菜单页面
  • 添加联系人功能
  • 联系人查询功能(分名称和手机号查询)
  • 显示联系人列表
  • 根据编号删除指定编号的联系人
  • 修改指定编号的联系人
  • 退出登录

项目实现截图

项目结构:
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

数据表结构(单表user)
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

1.项目通过main方法运行后的页面
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

2.新增用户页面功能
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

3.联系人查询功能(按照姓名和手机号码)
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

4.显示联系人列表功能页面

手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

5.根据编号删除指定编号的联系人
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

6.修改指定编号的联系人
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

7.退出
手把手教你写代码——基于控制台的通讯录管理系统(单表),Java免费小项目,通讯录管理系统,控制台项目,JDBC,java

项目部分代码

jdbc工具:

    public static String db_url = "jdbc:mysql://localhost:3306/addressbook?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf-8";
    public static String db_user = "root";
    public static String db_pass = "123456";
    
    public static Connection getConn () {
        Connection conn = null;
        
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(db_url, db_user, db_pass);
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        return conn;
    }
    

主方法类:文章来源地址https://www.toymoban.com/news/detail-609639.html

package com.maker.address.web;

import java.util.ArrayList;
import java.util.Scanner;

import com.maker.address.entity.User;
import com.maker.address.service.UserService;

public class UserMain {
	static UserService user = new UserService();
	static Scanner sc = new Scanner(System.in);

	public static void start() {
		System.out.println("=======通讯录管理系统=====");
		System.out.println("【1】添加联系人");
		System.out.println("【2】联系人查询");
		System.out.println("【3】显示联系人列表");
		System.out.println("【4】根据编号删除指定编号的联系人");
		System.out.println("【5】修改指定编号的联系人");
		System.out.println("【0】退出");
		System.out.println("=============================");
		int i = sc.nextInt();
		switch (i) {
		case 1:
			add();
			start();
			break;
		case 2:
			System.out.println("【1】通过联系人姓名查询/【2】通过联系人电话查询");
			int a = sc.nextInt();
			findbyName(a);
			start();
			break;
		case 3:
			show();
			start();
			break;
		case 4:
			del();
			start();
			break;
		case 5:
			update();
			start();
			break;
		case 0:
			System.out.println("谢谢使用,再见!");
			System.exit(0);
			break;
		default:
			System.out.println("请输入正确的指令!");
			start();
			break;
		}
	}

	//修改用户
	private static void update() {
		// TODO Auto-generated method stub
		System.out.println("请输入要修改的联系人编号:");
		int a = sc.nextInt();
		System.out.println("请输入姓名:");
		String b = sc.next();
		System.out.println("请输入手机号:");
		String c = sc.next();
		judgePhone(c);
		System.out.println("请输入QQ:");
		String d = sc.next();
		System.out.println("请输入邮箱地址:");
		String e = sc.next();
		judgeEmail(e);
		User x = new User(a, b, c, d, e);
		if (user.updateUser(x)) {
			System.out.println("修改成功!");
		}
	}

	public static void add() {
		System.out.println("请输入联系人编号:");
		int a = sc.nextInt();
		System.out.println("请输入联系人姓名:");
		String b = sc.next();
		System.out.println("请输入联系人手机号:");
		String c = sc.next();
		judgePhone(c);
		System.out.println("请输入联系人QQ:");
		String d = sc.next();
		System.out.println("请输入联系人邮箱地址:");
		String e = sc.next();
		judgeEmail(e);
		User x = new User(a, b, c, d, e);
		if (user.addUser(x)) {
			System.out.println("添加成功!");
		}
	}

	public static void judgePhone(String phone) {

		if (phone.matches("1[34589][0-9]{9}")) {

		} else {
			System.out.println("手机号输入有误,请重新输入");
			String v = sc.next();
			judgePhone(v);
		}
	}

	public static void judgeEmail(String email) {

		if (email.matches("[A-Za-z0-9]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)")) {

		} else {
			System.out.println("邮箱格式输入有误,请重新输入");
			String v = sc.next();
			judgeEmail(v);
		}
	}

	public static void findbyName(int a) {
		if (a == 1) {
			System.out.println("请输入联系人姓名");
		} else {
			System.out.println("请输入联系人电话");
		}
		String name = sc.next();
		User user = UserMain.user.searchByName(name);
		System.out.println(user);
	}

	public static void show() {
		ArrayList list = user.showInfo();
		for (Object o : list) {
			System.out.println(o);
		}
	}

	public static void del() {
		System.out.println("请输入编号");
		int no = sc.nextInt();
		if (user.delUser(no)) {
			System.out.println("删除成功");
		}
	}

	public static void main(String[] args) {
		start();
	}
}


到了这里,关于手把手教你写代码——基于控制台的通讯录管理系统(单表)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你写stm32f103智能风扇

    本系统可以分为两个模式来进行运行,分别为手动模式和自动模式,同时,在上电进入系统后,还会有一个模式选择的界面产生。 模式选择:在此界面中,可以通过按键K1来控制模式选择,两个模式分别为手动模式和自动模式;通过按键K2可以进入模式。 手动模式:在手动模

    2023年04月17日
    浏览(66)
  • 正则表达式详解(零基础教学,手把手教你写正则)

    本篇文章将从零讲解什么是正则表达式,以及正则表达式的规则、在python中的应用,用通俗易懂的描述方式进行零基础级别的讲解,尽量做到全网最全讲解,力求最高质量文章,欢迎关注!点击目录可直接进行相关位置跳转。 目录: 什么是正则? 为什么需要正则? 元字符

    2023年04月08日
    浏览(44)
  • 手把手教你写一个JSON在线解析的前端网站1

    作为一名Android开发,经常要跟后端同事联调接口,那么总避免不了要格式化接口返回值,将其转换为清晰直观高亮的UI样式以及折叠部分内容,方便我们查看定位关键的信息。 一直以来都是打开Google 搜索json格式化,然后选择Google推荐的前三名的网址,比如 bejson网站

    2024年02月08日
    浏览(46)
  • [Kotlin]手把手教你写一个安卓APP(第一章注册登录)

    开发软件:Android Studio 1.创建项目默认选择Empty Activity                                                                      点击Next  2.生成项目设置包名选择开发语言(这里我用的是kotlin)  在生成项目后我们要做的就是添加需要的配置打开我们的app目录下的 buil

    2023年04月23日
    浏览(81)
  • 【Java】手把手教你写学生信息管理系统(窗口化+MYSQL)

                (本项目使用到了数据库的可视化软件DataGrip,需要同学们自行下载并配置环境) 首先我们需要在DataGrip中建立一个student的框架                                                         然后建立一个studenttable表                   

    2024年02月04日
    浏览(41)
  • 【Golang项目实战】手把手教你写一个备忘录程序|附源码——建议收藏

    博主简介: 努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:数据结构、Go,Java等相关知识。 博主主页: @是瑶瑶子啦 所属专栏: Go语言核心编程 近期目标: 写好专栏的每一篇文章 前几天瑶瑶子学习了Go语言的基础语法知识,那么今天我们就写个

    2024年02月06日
    浏览(54)
  • FPGA之手把手教你写串口协议解析(STM32与FPGA数据互传)

    最近趁热打铁做了一个关于STM32与FPGA通信并且控制高速DA模块产生不同频率信号的正弦波、方波、三角波和锯齿波的项目,从中收获到了很多东西,也踩了一些雷和坑,将分为几篇文章将整个过程分享出来。 这一次准备分享的是对串口数据的解析和赋值。解析的数据由STM32发

    2024年02月06日
    浏览(40)
  • 手把手教你实现—基于OpenCV的车流量统计和车速检测代码

             本章将实现了一个简单的车辆速度估计和车流量统计的GUI应用,它使用了Haar级联检测器和相关跟踪器来检测和跟踪视频中的车辆,并通过图像处理和数学计算来估计车辆的速度。         1.首先,该代码需要cv2:用于图像处理和计算机视觉任务;dlib:用于对象

    2024年02月04日
    浏览(55)
  • 手把手教你用代码画架构图

    作者:京东物流 覃玉杰 本文将给大家介绍一种简洁明了软件架构可视化模型——C4模型,并手把手教大家如何使用 代码 绘制出精美的C4架构图。 阅读本文之后,读者画的架构图将会是这样的: 注:该图例仅作绘图示例使用,不确保其完整性、可行性。 C4是软件架构可视化

    2024年02月04日
    浏览(53)
  • 手把手教你:gitee的注册以及代码的提交(上)

    个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 目录 gitee的介绍  gitee的注册 提交代码到gitee 安装git和图形化界面工具  在gitee上创建远程仓库。 clone远程仓库到本地电脑 git的三板斧  add commit  push   首先,我们得了解什么是git

    2024年02月22日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包