Java---JDBC案例--手机信息管理系统

【Java MVC】制作简单的手机管理系统 该学期JAVA的学习可以说让我们正式认识了JAVA这门语言的魅力,通过结合Spring Boot、JPA、Thymeleaf、MySQL和Bootstrap,从最初几行代码变为现如今的几十行到几百行,一点点的学习一点点的进步,漫长的过程也让我们对知识更深刻的记忆。如老师所言,“代码是需要练的”,光看是无法真正的学会。 阅读详情

题目:手机信息管理系统

  • 语言环境
  1. 实现语言

Java

  1. 环境要求

IDEA ,mysql8

  • 功能要求

使用 Java语言实现手机信息管理的功能,mysql8作为数据库,主菜单包括菜单项:如图效果(1,2,3,4,5分别 实现功能,0的时候退出系统,其它的输入提示输入错误,请重新输入)

       

(图1)

  • 数据库设计

表名

Mobile

中文表名称

手机信息表

序号

字段名称

字段说明

类型

长度

属性

备注

1

ID

序号

Int

4

序列

主键,非空

2

Brand

品牌

Varchar

50

非空

3

Model

型号

Varchar

50

非空

4

Price

价格

Double(9,2)

非空

5

Count

数量

Int

非空

6

Version

版本

Varchar

50

非空

  • 具体实现步骤
  1. 创建数据库表Mobile,并输入至少3条测试数据:
  2. 在IDEA中创建Java项目
  3. 完成信息查询功能,如下图所示

4、完成信息录入的功能。效果如下图

5完成删除的功能,效果图如下所示

6、要删除的手机编号不存在

7、要删除的手机编号存在

8、完成根据手机品牌查询手机信息,要求使用模糊查询,效果如图所示

9、完成根据手机编号修改手机价格功能,效图所下图所示

10、退出

11、用户录入的选择不正确

项目结构:

 controller层:

MobileController类
package mobile.controller;

import mobile.entry.Mobile;
import mobile.service.Imp.MobileServiceImpl;
import mobile.service.MobileService;

import java.util.List;
import java.util.Scanner;

public class MobileController {
    Scanner sc = new Scanner(System.in);
    MobileService ms = new MobileServiceImpl();
    public void menu() {

        System.out.println("------------------------------------");
        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("6、退出");
        System.out.println("请选择:");

        int index = sc.nextInt();

        switch (index){
            case 1:
                methodadd();
                break;
            case 2:
                methodselect();
                break;

            case 3:
                metholdselectAll();
                break;
            case 4:
                methodupdate();
                break;
            case 5:
                deleteMobileById();
                break;
            case 6:
                System.out.println("谢谢使用!");
                System.exit(0);
            default:
                System.out.println("无效选项,请重新选择。");
        }
        System.out.println("------------------------------------");
        System.out.println("请输入0返回");
        int num = sc.nextInt();
        if (num == 0) {
            menu();
        }



    }

    public void  methodadd(){
        System.out.println("--------------------------");
        System.out.println("请输入手机品牌:");
        String brand = sc.next();
        System.out.println("请输入手机型号:");
        String model = sc.next();
        System.out.println("请输入手机价格:");
        double price = sc.nextDouble();
        System.out.println("请输入手机数量:");
        int count = sc.nextInt();
        System.out.println("请输入手机版本:");
        String version = sc.next();

        Mobile mobile = new Mobile();
        mobile.setBrand(brand);
        mobile.setModel(model);
        mobile.setPrice(price);
        mobile.setCount(count);
        mobile.setVersion(version);
        Mobile insertmobbile = ms.insertmobbile(mobile);
        System.out.println("添加成功");
    }

    public void methodselect(){
        System.out.println("请输入要查询的手机品牌:");
        String brand = sc.next();
        List<Mobile> mobile = ms.selectMobile(brand);

        // 输出查询结果
        if (mobile.isEmpty()) {
            System.out.println("没有找到该品牌的手机。");
        } else {
            System.out.println("查询到以下手机:");
            for (Mobile mobiles : mobile) {
                System.out.println(mobiles);
            }
        }
        menu();
    }

    public void metholdselectAll(){
        List<Mobile> mb = ms.selectMobileAll();
        System.out.println("序号\t品牌\t型号\t价格\t数量\t版本\t");

        for(Object o : mb){
            System.out.println(o.toString());
        }
        menu();
    }

    public void methodupdate(){
        System.out.print("请输入手机编号:");
        int id = sc.nextInt();
        System.out.print("请输入新的价格:");
        double price = sc.nextDouble();

        boolean success = ms.updatePrice(id, price);

        if (success) {
            System.out.println("手机价格修改成功!");
        } else {
            System.out.println("手机价格修改失败,可能编号不存在。");
        }
        menu();
    }

    public void deleteMobileById() {
            System.out.print("请输入要删除的手机编号:");
            int id = sc.nextInt();
            boolean success = ms.deleteMobile(id);
            if (success) {
                System.out.println("手机记录删除成功!");
            } else {
                System.out.println("删除失败,可能该编号不存在。");
            }
        menu();
    }


}

 dao层:

MobileDao接口
package mobile.dao;

import mobile.entry.Mobile;

import java.util.List;

public interface MobileDao {

    int insertMobile(Mobile mobile);

    List<Mobile> searchByBrand(String brand);//根据品牌查询

    List<Mobile> selectMobileAll();//查询所有

    boolean updatePriceById(int id, double price);//根据编号修改

    boolean deleteMobileById(int id);//删除功能



}

Impl层

MobileDaoImpl类
package mobile.dao.Impl;


import com.util.DBHelper;
import mobile.dao.MobileDao;
import mobile.entry.Mobile;
import java.util.List;

public class MobileDaoImpl implements MobileDao {
    DBHelper db = new DBHelper();

    @Override
    public int insertMobile(Mobile mobile) {
        String sql = "INSERT INTO mobile (brand, model, price, count, version) VALUES (?, ?, ?, ?, ?)";
        Object[] params = {mobile.getBrand(), mobile.getModel(), mobile.getPrice(), mobile.getCount(), mobile.getVersion()};
        return db.update(sql, params);
    }

    @Override
    public List<Mobile> searchByBrand(String brand) {
        String sql = "SELECT * FROM Mobile WHERE Brand LIKE ?";
       Object[] params ={"%" + brand + "%"};
        return db.qurty(sql, Mobile.class, params);
    }


    @Override
    public List<Mobile> selectMobileAll() {
        String sql ="select * from mobile";
        return db.qurty(sql, Mobile.class);
    }

    @Override
    public boolean updatePriceById(int id, double price) {
        String sql = "UPDATE Mobile SET Price = ? WHERE Id = ?";
        Object[] params = {price, id};
        int rows = db.update(sql, params);
        return rows > 0;
    }

    @Override
    public boolean deleteMobileById(int id) {
        String sql = "DELETE FROM Mobile WHERE Id = ?";
        Object[] params = {id};
        int rows = db.update(sql, params);
        return rows > 0;
    }


}

entry层

Mobile类

package mobile.entry;

public class Mobile {
    private Integer ID;
    private String Brand;
    private String Model;
    private Double price;
    private Integer Count;
    private String Version;

    public Mobile() {
    }

    public Mobile(Integer ID, String brand, String model, Double price, Integer count, String version) {
        this.ID = ID;
        Brand = brand;
        Model = model;
        this.price = price;
        Count = count;
        Version = version;
    }

    public Integer getID() {
        return ID;
    }

    public void setID(Integer ID) {
        this.ID = ID;
    }

    public String getBrand() {
        return Brand;
    }

    public void setBrand(String brand) {
        Brand = brand;
    }

    public String getModel() {
        return Model;
    }

    public void setModel(String model) {
        Model = model;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Integer getCount() {
        return Count;
    }

    public void setCount(Integer count) {
        Count = count;
    }

    public String getVersion() {
        return Version;
    }

    public void setVersion(String version) {
        Version = version;
    }

    @Override
    public String toString() {
        return "Mobile{" +
                "ID=" + ID +
                ", Brand='" + Brand + '\'' +
                ", Model='" + Model + '\'' +
                ", price=" + price +
                ", Count=" + Count +
                ", Version='" + Version + '\'' +
                '}';
    }
}

service层

MobileService接口
package mobile.service;

import mobile.entry.Mobile;

import java.util.List;

public interface MobileService {

    Mobile insertmobbile(Mobile mobile);

    List<Mobile> selectMobile(String brand);

    List<Mobile> selectMobileAll();

    boolean updatePrice(int id, double price);

    boolean deleteMobile(int id);
}

Impl层

MobileServiceImpl类
package mobile.service.Imp;

import mobile.dao.Impl.MobileDaoImpl;
import mobile.dao.MobileDao;
import mobile.entry.Mobile;
import mobile.service.MobileService;


import java.util.List;

public class MobileServiceImpl implements MobileService {
    MobileDao md = new MobileDaoImpl();
    @Override
    public Mobile insertmobbile(Mobile mobile) {
        int result = md.insertMobile(mobile);
        if (result > 0) {
            return mobile;
        } else {
            throw new RuntimeException("工单添加失败!");
        }
    }

    @Override
    public List<Mobile> selectMobile(String brand) {
        List<Mobile> mobiles = md.searchByBrand(brand);
        return mobiles;
    }

    @Override
    public List<Mobile> selectMobileAll() {
            return md.selectMobileAll();
        }

    @Override
    public boolean updatePrice(int id, double price) {
        if (id <= 0) {
            throw new IllegalArgumentException("手机编号必须大于 0!");
        }
        if (price < 0) {
            throw new IllegalArgumentException("价格不能为负数!");
        }
        return md.updatePriceById(id, price);
    }

    @Override
    public boolean deleteMobile(int id) {
        if (id <= 0) {
            throw new IllegalArgumentException("手机编号必须大于 0!");
        }
        return md.deleteMobileById(id);
    }
}

util层

DBHelper类

package mobile.util;

import java.lang.reflect.Field;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class DBHelper {
    public Connection getCon(){
        Connection con = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://127.0.0.1:3306/数据库名?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
            String userName = "root";
            String password = "连接密码";
            con = DriverManager.getConnection(url,userName,password);
        }catch(Exception e){
            e.printStackTrace();
        }
        return con;
    }


    public static void Close(Connection con, PreparedStatement ps, ResultSet rs){
        try {
            if (con != null) {
                con.close();
            }
            if(ps != null){
                ps.close();
            }
            if(rs != null){
                rs.close();
            }
        }catch(SQLException e){
            e.printStackTrace();
        }
    }

    public int update(String sql,Object...arrs){
        Connection con = getCon();
        PreparedStatement ps = null;
        int count = 0;
        try{
            ps = con.prepareStatement(sql);
            for (int i = 0; i <arrs.length; i++) {
                ps.setObject((i+1),arrs[i]);
            }
            count = ps.executeUpdate();
        }catch(Exception e){
            e.printStackTrace();
        }finally {
            Close(con,ps,null);
        }
        return count;
    }

    public List qurty(String sql, Class cla , Object...arrs){
        Connection con = getCon();
        PreparedStatement ps = null;
        ResultSet rs = null;
        List list = new ArrayList<>();
        try{
            ps = con.prepareStatement(sql);
            for (int i = 0; i <arrs.length ; i++) {
                ps.setObject((i+1),arrs[i]);
            }
            rs = ps.executeQuery();
            while(rs.next()){
                Object obj = cla.newInstance();
                Field[] fl = cla.getDeclaredFields();
                for(Field f: fl){
                    f.setAccessible(true);
                    f.set(obj,rs.getObject(f.getName()));
                }
                list.add(obj);
            }

        }catch(Exception e){
            e.printStackTrace();
        }finally{
            Close(con,ps,rs);
        }
        return list;
    }
}

test层

test类

package mobile.test;

import mobile.controller.MobileController;

public class Test {
    public static void main(String[] args) {
        MobileController mc = new MobileController();
        mc.menu();
    }
}

运行结果:

截图太麻烦了,自己运行试一试

手机管理系统 Java手机管理系统,使用Oracle数据库,实现增删改查。 立即下载

相关推荐

用户管理系统(登录、注册、添加、删除、修改,含服务器端和手机端)

这是一个Android Studio工程,包含登录和注册两个Activity,分别使用PostService类指定连接的Java Web服务器的Servlet,HttpClient类指定连接的服务器地址。

基于javaweb+jsp的手机店销售信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap)

基于javaweb+jsp的手机店销售信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap) JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap 基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot...均可 开发工具:eclipse/idea/myeclip

m0_70026648的博客 1562

基于LSTM算法的股票预测详解

一、需求 给定几个已知的股市因素(开盘、收盘、最高、最低、成交量、成交额)及各因素对应的大量数据,训练一个该股票的涨跌趋势的预测模型。并在给定的测试数据的条件下求出接下来的涨跌趋势。即得到下图中的label值。-1代表跌、1代表涨。 二、分析 1、LSTM简单介绍 LSTM这个算法是专门训练有时间序列信息的数据的,即这些数据不仅按照时间递增的顺序排布,并且前后的数据都有着很强的联系。个人认为与马尔可夫的思想差不多,即后面的值由前面的值来决定。本次需求是要根据已知的股市数据来分析某个时间段的涨跌趋势,并预测

Zhang_713的博客 1万+

java手机商城系统_基于JavaWeb的手机商城系统设计任务书

主要参考文献(资料):[1]董纪阳.软件设计中的需求分析.电脑知识与技术.2008.(28):56-57[2]汪建文.我国零售企业的商务电子化应用商场现代化.2008.(04):56-60[3]周建儒.JSP中自定义标签的实现与部署.科技信息(科学教研).2008.(23):51-53[4]杨文红,赵德平,刘柯剑.基于MVC模式Struts框架研究与应用.硅谷.2008.(20):45-4...

weixin_29705519的博客 658

【TestNG自动化测试框架详解】

TestNG是一款设计测试用例执行流程的测试框架。

weixin_43936332的博客 1540

【新华三】通过路由复制实现Public与VRF路由互通

如上图所示,S6900设备里有两张表,一张是public路由表,默认所有的路由都存放在public路由表里;除此之外还创建了VRF test,因此此设备还有VRF test路由表。通过路由复制实现Public路由和VRF路由互通,默认情况下VRF里的路由单独一张路由表,默认情况下与public路由表相互隔离,两张表之间不可互访。此时的public路由表里面并没有test的路由表。public路由表与VRF路由表之间相互隔离。此时VRF test里的路由也没有其他VRF或Public里的路由,相互隔离。

五大连池的镜子 5279

使用mvc模式,反射,jdbc等技术完成对数据库的访问(手机信息管理系统案例)

目录 手机信息管理系统 功能要求 数据库设计 数据库代码 具体实现步骤 项目目录结构 具体实现代码 1.test类 2.数据库工具类及配置文件 3.view层(视图层) 4.service层 5.Dao层 6.实体类 手机信息管理系统 功能要求 使用 Java语言实现手机信息管理的功能,Oracle11g作为数据库,主菜单包括菜单项:如图效果(1,2,3,...

陈小哥cw 1115

如何在n8n中高效调用playwright-mcp实现浏览器自动化(附避坑指南)

本文详细介绍了在n8n中高效集成playwright-mcp实现浏览器自动化的全流程指南,包括环境准备、工作流设计与优化、高级技巧与性能调优以及调试与问题排查。通过克服实际部署中的各种挑战,帮助用户打造稳定高效的自动化解决方案,特别适合需要浏览器自动化的工作流场景。

weixin_30379531的博客 387

手机信息管理系统-----控制台输出

使用 Java语言实现手机信息管理的功能,mysql作为数据库,主菜单包括菜单项:如图效果( 实现功能,0的时候退出系统,其它的输入提示输入错误,请重新输入)注意:根据手机品牌查询手机信息,要求使用模糊查询。entry ----- Mobile实体类。3、根据手机品牌查询手机信息。5、根据手机编号修改手机价格。6、根据手机编号删除手机记录。4、查询全部手机信息。

2401_88004177的博客 385

Aurora 8B/10B IP核介绍 —— Xilinx 技术文档Pg046

一、概述该IP核与用户接口之间支持AXI4-Stream协议,且基于ZYNQ SOC、A7、K7、V7以及UltraScale、UltraScale+系列FPGA的高速收发器(the high-speed serial transceivers)进行实现。多达 16 个连续绑定4 个连续绑定的 GTP 收发器framingstreaming以及全双工或单工加扰消扰CRC校验热插拔Aurora 8B/10B核心(图1-1)是一种可扩展的、轻量级的、用于高速串行通信的链路层协议;

qq_32147275的博客 1640

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet,在计算机视觉领域,卷积神经网络(Convolutional Neural Network,CNN)已然成为推动众多任务发展的核心力量。从早期简单的图像识别,到如今复杂的目标检测、语义分割、图像生成等任务,CNN 都展现出了卓越的性能。CNN 的发展历程见证了一系列经典模型的诞生,其中 LeNet 作为开山之作,为 CNN 的发展奠定了基础,而 ResNet 则通过创新性的设计,突破了传统神经网络的限制,使得网络能够构建得更深、性能更优。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

手机信息管理系统【控制台+MySQL】(Java课设)

手机信息管理系统【控制台+MySQL】(Java课设)

我从不打没有准备的仗! 9888

MTK Android 12 Clone Project 克隆项目

本文介绍了如何使用MTK Android 12 Clone Project 克隆一个新的项目。通过使用绝对路径执行Perl脚本,并根据需要选择升级或降级位数,可以成功地生成一个新的项目并进行编译。希望本文对xdm有所帮助。

我其实什么都不会 942

采用MVC模式JDBC演示案例

MVC三层架构: Model 模型层,数据处理和业务逻辑 View 视图层,为客户展示内容 Control 控制层,协调控制,更新模型 案例如下: 1、获得数据库连接 1 package com.db; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.s...

weixin_30634661的博客 200

【WLAN】【调试】再谈如何使用Wireshark解密WiFi数据包——使用TK信息

- 本文介绍了一种wireshark使用TK信息解密空口报文的方式,该方式对是否有关联过程的报文没有要求。

一介草民,只为生活。 1188

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jsp + servlet + mysql + ajax + Tomcat实现图书管理系统

源码在github上: 图书管理系同源码 图书管理系统的实现刚一下手可能会有点难度,但是把问题分开画之后就会相对来说简单一点,这里完全没有使用前端技术,所做出来的界面是最原始的。本项目采用IDEA这个IDE,所需要导入的jar包仅有一个:mysql-connector-java-5.1.25-bin.jar,此jar包可以使用其他版本的,这个版本已经比较老了。 目录结构如下 一、分析 1、首...

qq_43060759的博客 7143

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于Java+SSM+JSP的智能手机销售信息系统

随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于品牌手机销售信息系统当然也不能排除在外,随着网络技术的不断成熟,带动了品牌手机销售信息系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对品牌手机销售信息系统而言非常有利。 本系统采用的数据库是Mysql,使用JSP技术开发,运行环境使用Tomcat服务器,ECLIPSE 是本系统的开发平台。在设计

QQ177825331的博客 711

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java手机登录系统代码_基于Java 实现的简易登录-注册系统

二、界面设计这个大家自行设计基础菜单栏欢迎来到 xxx 系统1、注册2、登录3、退出请输入你的选择:登录界面欢迎来到 xxx 在线 系统请输入你的账号:aaa请输入你的密码:bbb恭喜你登录成功!!!…注册界面欢迎来到注册界面请输入你的账号:ada请输入你的密码:abc三、代码实现特别提醒:我这里存储数据用到的是列表(ArrayList),每次运行代码的时候,原有的数据就会保留,新注册的信息就会删...

weixin_35920379的博客 1137

基于SSM开发的javaweb模式二手手机回收利用j2ee网站管理系统

idea或eclipse开发,mysql数据库1、合理设定用户,控制用户使用权限。2、管理人员可以随时根据实际情况修改数据库中的数据资料,使信息的更新及时、准确;3、发布的二手手机信息内容可以让人们一目了然;4、查找功能方便管理人员了解网站内容和二手手机信息,便于统一管理;本设计是一个二手手机回收网站建设,要求简单的信息添加、删除、修改等,及时进行数据的查询和管理。该软件以Windows环境,JSP工具和MYSQL 数据库设计。

计算机程序开发设计 825

基于JAVA代码 获取手机基本信息(本机号码,SDK版本,系统版本,手机型号)

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package com.zzw.get

技术之家 www.5ceo.cn 7218

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 289

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 346

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 199

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 131

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 503

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 366
上一篇: Java---Junit单元测试
下一篇: Java---反射机制
铅华尽
博客等级 码龄4年 326粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值