Java寻找迷宫路径

解密迷宫问题:三种高效算法Java实现,让你轻松穿越未知迷宫 我们总结一下,在迷宫问题中,深度优先搜索(DFS)、广度优先搜索(BFS)和 A* 都可以用来寻找最短路径或最优解。空间要求低,不需要保存整个搜索树,只需要保存当前路径;所有解的路径长度差别不大,或者只需要找到其中一个解;迷宫比较大,而且有很多死路,采用 DFS 可以快速探索大面积空间。需要找到最短路径或最优解;迷宫中大部分路径长度差别不大;可以承受较大的空间复杂度,需要保存整个搜索树。需要找到最短路径或最优解;需要考虑迷宫中的障碍物,即寻找一条避开障碍物的路径; 阅读详情

问题:
/*

  • 用非递归的栈来解决
  • 用类来解决迷宫路径的查找问题,寻找一条从左上角迷宫入口
  • 到右下角迷宫出口的一条有效路径,0代表可以行走,1代表不能行走,
  • 找到,请输入最终的迷宫和路径信息, 找不到,请输出“不存在有效路径"。
  • */

主函数:

 	package main;
	import java.util.Scanner;
	import maze.Maze;

	public class MainTest {

		public static void main(String[] args) {
				// TODO Auto-generated method stub
				Scanner in = new Scanner(System.in);
				System.out.println("请输入迷宫大小:");
				int size = in.nextInt();
				Maze maze = new Maze(size);   
				System.out.println("请输入迷宫具体的路径信息:0表示路径可以走,1表示路径不能走:");
				for(int i=0; i<size; ++i){
						for(int j=0; j<size; ++j){
								int data = in.nextInt();
								maze.setMazeNode(i, j, data);
						}
				}
				//开始寻找路径信息
				maze.findPath();
				//打印最终的路径信息
				maze.showPath();
		}
}

常量类:

  package constant;
    /**
     * 描述: 定义项目所有的常量
     */
    public interface Constant {
    	
    	//路径的方向总数
    	int PATH_NUM = 4;
    	
    	//右方向
    	int PATH_RIGHT = 0;
    	
    	//下方向
    	int PATH_DOWN = 1;
    	
    	//左方向
    	int PATH_LEFT = 2;
    	
    	//上方向
    	int PATH_UP = 3;
    	
    	//路径可以行走
    	int STATE_OK = 5;
    	
    	//路径不能行走
    	int STATE_ERR = 6;
    }

用来存放路径的类:

 package maze;
    
    import constant.Constant;
    import node.MazeNode;
    import stack.MazeStack;
    
    public class Maze {
    	//存储迷宫路径信息
    	private MazeNode[][] mazePath;
    	
    	//求解迷宫路径所需要的栈类型
    	private MazeStack stack;
    	
    	//表示迷宫路径的大小
    	private int size;
    
    	/**
    	 * 迷宫对象的初始化
    	 * @param size
    	 */
    	public Maze(int size) {
    		// TODO Auto-generated constructor stub
    		this.size = size;
    		stack = new MazeStack();
    		mazePath = new MazeNode[this.size][this.size];
    	}
    	
    	/**
    	 * 给迷宫路径生成相应的节点
    	 * @param i
    	 * @param j
    	 * @param data
    	 */
    	public void setMazeNode(int i, int j, int data) {
    		// TODO Auto-generated method stub
    		mazePath[i][j] = new MazeNode(i, j, data);
    	}
    
    	/**
    	 * 开始寻找迷宫路径信息
    	 */
    	public void findPath() {
    		// TODO Auto-generated method stub
    		if(mazePath[0][0].getVal()!=0) {
    				System.out.println("there is no way!");
    				return;
    		}
    		fixPathState();
    	
    		//开始寻找迷宫路径
    		int i=0;
    		int j=0;
    		stack.push(mazePath[i][j]);
    		
    		while(!stack.empty()) {
    				i=stack.top().getX();
    				j=stack.top().getY();
    				if(i == this.size - 1 && j ==this. size - 1) {
    						break;
    				}
    				//向右
    				if(mazePath[i][j].getPath()[Constant.PATH_RIGHT] == Constant.STATE_OK) {
    						//将该节点 行走 状态设置为不行 
    						mazePath[i][j].setPathState(Constant.PATH_RIGHT, Constant.STATE_ERR);
    						//将该节点 左边行走 状态设置为不行  		
    						mazePath[i][j+1].setPathState(Constant.PATH_LEFT, Constant.STATE_ERR);
    						////将该节点右边节点入栈
    						stack.push(mazePath[i][j+1]);
    						continue;
    				}
    				//向下
    				if(mazePath[i][j].getPath()[Constant.PATH_DOWN] == Constant.STATE_OK) {
    						//将该节点 行走 状态设置为不行 
    						mazePath[i][j].setPathState(Constant.PATH_DOWN, Constant.STATE_ERR);
    						//将该节点 上边行走状态设置为不行 
    						mazePath[i+1][j].setPathState(Constant.PATH_UP, Constant.STATE_ERR);
    						//将该节点下边节点入栈
    						stack.push(mazePath[i+1][j]);
    						continue;
    				}
    				//向左
    				if(mazePath[i][j].getPath()[Constant.PATH_LEFT] == Constant.STATE_OK) {
    						//将该节点 行走 状态设置为不行 
    						mazePath[i][j].setPathState(Constant.PATH_LEFT, Constant.STATE_ERR);
    						//将该节点 右边行走 状态设置为不行 
    						mazePath[i][j-1].setPathState(Constant.PATH_RIGHT, Constant.STATE_ERR);
    						//将该节点左边节点入栈
    						stack.push(mazePath[i][j-1]);
    						continue;
    				}
    				//向上
    				if(mazePath[i][j].getPath()[Constant.PATH_UP] == Constant.STATE_OK) {
    						//将该节点 行走 状态设置为不行 	
    						mazePath[i][j].setPathState(Constant.PATH_UP, Constant.STATE_ERR);
    						//将该节点 下边行走 状态设置为不行 
    						mazePath[i-1][j].setPathState(Constant.PATH_DOWN, Constant.STATE_ERR);
    						//将该节点上边节点入栈
    						stack.push(mazePath[i-1][j]);
    						continue;
    				}
    				stack.pop();	
    		}
    		if(stack.empty()) {
    			System.out.println("no way");
    		}
    }
    
    	/**
    	 * 调整迷宫路径所有节点的行走状态
    	 */
    	private void fixPathState() {
    			// TODO Auto-generated method stub
    			for(int i=0; i<size; ++i){
    					for(int j=0; j<size; ++j){
    							// i, j
    							//向右
    							if(j<size-1 && mazePath[i][j+1].getVal() == 0) {
    									mazePath[i][j].setPathState(Constant.PATH_RIGHT, Constant.STATE_OK); 
    							}
    							//向下
    							if(i<size-1 && mazePath[i+1][j].getVal() == 0) {
    									mazePath[i][j].setPathState(Constant.PATH_DOWN, Constant.STATE_OK); 
    							}
    							//向左
    							if(j>0 && mazePath[i][j-1].getVal() == 0) {
    									mazePath[i][j].setPathState(Constant.PATH_LEFT, Constant.STATE_OK); 
    							}
    							//向上
    							if(i>0 && mazePath[i-1][j].getVal() == 0) {
    									mazePath[i][j].setPathState(Constant.PATH_UP, Constant.STATE_OK); 
    							}
    					}
    			}
    	}
    
    	/**
    	 * 打印迷宫路径信息
    	 */
    	public void showPath() {
    			// TODO Auto-generated method stub
    			while(!stack.empty()) {
    					int i=stack.top().getX();
    					int j=stack.top().getY();
    					this.setMazeNode(i, j, 7);
    					stack.pop();
    			}
    			System.out.println("迷宫路径信息(路径可以走 7表示):");
    			for(int i=0 ; i<size;i++) {
    					for(int j=0;j<size;j++) {
    							System.out.print(this.mazePath[i][j].getVal()+" ");
    					}
    					System.out.println();
    			}
    	}
    }

迷宫路径节点的类型信息类:

    package node;
    import constant.Constant;
    public class MazeNode {
    	//存储节点的值
    	private int val;
    	
    	//存储节点的坐标
    	private int x;
    	private int y;
    	
    	//存储节点四个方向的行走状态
    	private int[] path;
    
    	/**
    	 * 节点对象的初始化
    	 * @param i
    	 * @param j
    	 * @param data
    	 */
    	public MazeNode(int i, int j, int data) {
    		// TODO Auto-generated constructor stub
    		this.x = i;
    		this.y = j;
    		this.val = data;
    		
    		//初始化节点的四个方向行走信息的时候,都初始化成不能走
    		path = new int[Constant.PATH_NUM];
    		for(int k=0; k<path.length; ++k){
    				path[k] = Constant.STATE_ERR;
    		}
    	}
    
    	public int getVal() {
    			return val;
    	}
    
    	public void setVal(int val) {
    			this.val = val;
    	}
    
    	public int getX() {
    			return x;
    	}
    
    	public void setX(int x) {
    			this.x = x;
    	}
    
    	public int getY() {
    			return y;
    	}
    
    	public void setY(int y) {
    			this.y = y;
    	}
    
    	public int[] getPath() {
    			return path;
    	}
    
    	public void setPath(int[] path) {
    			this.path = path;
    	}
    
    	/**
    	 * 把节点相应的方向path,的行走状态,修改为state
    	 * @param pathRight
    	 * @param stateOk
    	 */
    	public void setPathState(int pathid, int state) {
    			// TODO Auto-generated method stub
    			this.path[pathid] = state;
    	}
    }

迷宫需要的顺序栈结构 (内存可增长):

    package stack;
    import java.util.Arrays;
    import node.MazeNode;
    public class MazeStack {
        private MazeNode[] stack;
        private int top;
    	
    	public MazeStack(){
    		this.stack = new MazeNode[10];
    		this.top = 0;
    	}
    	/**
    	 * 入栈
    	 * @param val
    	 */
    	public void push(MazeNode mazeNode) {
    			if(full()) {
    					this.stack=Arrays.copyOf(this.stack, 2*this.top);
    			}
    			this.stack[this.top]=mazeNode;
    			this.top++;
    	}
    	/**
    	 * 出栈
    	 */
    	public void pop() {
    			if(empty()) {
    					return;
    			}
    			this.top--;
    	}
    	
    	/**
    	 *  返回栈顶元素
    	 * @return
    	 */
    	public MazeNode top() {
    			return this.stack[this.top-1];
    	}
    	
    	/**
    	 * 判断栈空
    	 * @return
    	 */
    	public boolean empty() {
    			return this.top == 0;
    	}
    	/**
    	 * 判断栈满
    	 * @return
    	 */
    	public boolean full() {
    			return this.top == this.stack.length;
    	}
    }

运行结果:

请输入迷宫大小:
5
请输入迷宫具体的路径信息:0表示路径可以走,1表示路径不能走:
0 0 0 0 1
1 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 0 0 0 0
迷宫路径信息(路径可以走 7表示):
7 7 0 0 1
1 7 1 0 1
7 7 1 1 1
7 1 0 0 1
7 7 7 7 7

迷宫最短路径的问题----BFS(JAVA实现) BFS package LeetCode.DFS_and_广度优先.BFS; import java.util.LinkedList; import java.util.Queue; public class MazeMinPath { //存储整个迷宫 int[][] map ; // 方向由两个一维数组表示 ---- 下左右上 int[] dY = {0,-1,1,0}; int[] dX = {1,0,0,-1}; publi 阅读详情

相关推荐

java实现创建迷宫,并求解最短路径(附完整源码)

java实现创建迷宫,并求解最短路径(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 654

Java 简单实现 迷宫寻找路径

项目介绍 一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。 项目功能 解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找到请输出最终的迷宫和路径信息,找不到请输出不存在有效路径 知识点 基础语法(if-else、for循环等) 函数调用 封装 二维

qq_43722914的博客 1325

java实现的求迷宫最短路径算法

用java实现的求迷宫最短路径的算法源代码,代码中有大量注释,容易看懂

用Java实现迷宫最短路径算法

宽度优先搜索 迷宫最短路径用宽度优先搜索(bfs)相比用深度优先搜索(dfs)的好处在于bfs每次计算都是最短路径不存在重复计算,而dfs每计算出一条可行的路径都要与先前的路径比较,然后储存最短路径。 而bfs的思想是先计算出围绕起点的所有点的距离并储存起来 S是起点,数字为该点到S的距离 根据该思想为下题写一段程序 在N*M的迷宫中,计算出S到G的最短路径 ‘#’,’.’, ‘S’, 'G’...

c_yejiajun的博客 1万+

植物叶绿体基因组分析全攻略:从共线性到密码子偏好性

本文全面解析植物叶绿体基因组分析流程,从共线性分析到密码子偏好性研究。详细介绍了叶绿体基因组结构特征、测序数据获取与质量控制、基因组组装与注释方法,以及比较基因组学和进化分析技术。特别关注IR区边界变异分析和选择压力评估,为植物系统发育研究和物种鉴定提供实用指南。

weixin_28475533的博客 222

哈工大集合论与图论(下)慕课MOOC答案

答案选自2023哈工大集合论与图论慕课,慕课的题重复率很高并且具有极高的相似性,选答案时要格外注意对比选项,能力有限答案不一定面面俱到,整理不易读者且用且珍惜。

qq_34168477的博客 2904

java寻找迷宫路径的简单实现

迷宫项目实现设计文档 项目介绍: 一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。 项目功能: 解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找到请输出最终的迷宫和路径信息,找不到请输出不存在有效路径。 项目所用知识点: 采用Java面

tdongmu的博客 1439

保姆级教程:在S32K312上配置C40驱动,实现Flash读写(基于RTD 4.4.2)

本文详细介绍了在S32K312微控制器上配置C40驱动实现Flash读写的全流程,基于RTD 4.4.2库。内容涵盖环境搭建、外设配置、Flash操作实战代码及高级应用场景,特别针对LLD驱动和FLS存储操作中的常见问题提供了解决方案,帮助开发者快速掌握嵌入式Flash存储技术。

weixin_28684757的博客 259

迷宫找路径的代码java_java寻找迷宫路径的简单实现

迷宫项目实现设计文档项目介绍:一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。项目功能:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找...

weixin_28825959的博客 406

PPT| 公司网络安全意识培训 P73

近年来,随着互联网的不断发展,网络安全问题也日益凸显,各种网络安全事件层出不穷,对个人和企业的信息安全带来了巨大的威胁。针对这一现状,国家加强了对信息安全的保护,相继颁布了多项法律法规,其中最重要的就是网络安全法。本文将从网络安全法和其他相关法律入手,对信息安全的保护措施进行深入分析。 本人在四大咨询机构从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货. 该PPT共73页,原文获取及来源公众号:【智能制造数字化咨询】

waldensss的博客 1422

生成式引擎优化(GEO)- 搜索引擎优化

生成式引擎优化(GEO)是针对AI内容生成平台(如ChatGPT)的新型优化策略,旨在提升品牌内容在AI生成答案中的引用率,与传统SEO存在显著差异。GEO通过优化内容权威性、结构化和语义关联,适应AI的RAG技术架构,采用3C原则(可爬性、网络共识、反馈校正)提升内容可见性。其核心区别在于目标(引用率vs排名)、技术(语义优化vs关键词)及算法透明度(封闭vs开放)。适用场景包括商业决策、行业权威建设及公共知识服务,帮助品牌在AI时代占据信息主导权。

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 1404

java迷宫寻找最短路径

利用广度优先遍历算法的特点,由于迷宫每次只能走一格,所以对于任意一个节点,bfs第一次到达该点时一定是最短路径。

mischen520的博客 1385

GitHub漏洞挖掘与CVE提交实战指南:从发现到编号的完整链路

GitHub开源项目是现代软件供应链的核心节点,其安全漏洞直接影响全球数百万系统的机密性、完整性与可用性。理解漏洞本质需回归CIA三元组原理,而真实可利用性依赖对协议解析层、配置加载区和依赖传递链等高危模块的精准识别。技术价值在于将模糊的‘可疑逻辑’转化为符合MITRE CVE标准的可验证事件,支撑SDL流程、威胁情报建设与供应链风险管理。典型应用场景包括甲方安全工程师推动供应商修复、独立研究者参与负责任披露,以及DevSecOps团队构建自动化风险坐标系。本文基于27次CVE提交经验,聚焦GitHub代码

weixin_33646989的博客 653

java填充迷宫路径颜色_java寻找迷宫路径的简单实现

迷宫项目实现设计文档项目介绍:一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。项目功能:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找...

weixin_28955929的博客 126

【视频】GStreamer+WebRTC(九):使用NVIDIA硬编解码

2)下载 GStreamer-bad 插件包源码注意要下载和 GStreamer版本对应的插件包3)下载NVIDIA硬编解码SDK最新的SDK下载地址注意 GStreamer 1.24.2 中调用的 NVIDIA Video_Codec_SDK 不是最新的,先使用下面的方法,查看gst-plugins-bad-1.24.2.tar.xz 对应的NVIDIA Video_Codec_SDK 的版本是多少。

郭老二 263

利用自己的域名和cloudflare实现邮件转发(无限邮箱注册cursor使用账号) 保姆级图文

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!发现你走远了@mzh原创作品,转载必须标注原文链接欢迎关注『发现你走远了』 专栏,持续更新中欢迎关注『发现你走远了』 专栏,持续更新中『未完待续』

MZH 413

JAVA图论算法编写迷宫(带界面,自动寻找最优路径+自动生成迷宫)

JAVA图论算法编写迷宫图论迷宫算法 图论 注意:我是边学边写代码的,有的地方没有注释,以致于自己都很难看懂,又不想重复研究,并不保证你也能看懂 关于图论的思考,我是通过以下文章学习的 https://www.cnblogs.com/skywang12345/p/3707604.html#anchor1无向图的数据结构 (重点) https://www.cnblogs.com/skywang123...

qq_26934393的博客 2685

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java通过txt读取迷宫地图_java寻找迷宫路径的简单实现示例

迷宫项目实现设计文档项目介绍:一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。项目功能:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找...

weixin_42522857的博客 374

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java怎样找出迷宫中所有路径_Java寻找迷宫路径

问题:/*用非递归的栈来解决用类来解决迷宫路径的查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可以行走,1代表不能行走,找到,请输入最终的迷宫和路径信息, 找不到,请输出“不存在有效路径"。*/主函数:package main;import java.util.Scanner;import maze.Maze;public class MainTest {public s...

weixin_29091445的博客 1040

java实现寻找迷宫路径

迷宫描述:一个网格迷宫由n行m列的单元格组成,每个单元格要是空地(用0表示),或者是障碍物(用1表示)。寻找一条从起点到终点的移动序列,只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。 问题:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找到请输出最终的迷宫和路径信息,找不到请输出不存在有效路径。 迷宫示例 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1

qq_38680522的博客 1204

java寻找迷宫路径

问题描述: /* * 用非递归的栈来解决 * 用类来解决迷宫路径的查找问题,寻找一条从左上角迷宫入口 * 到右下角迷宫出口的一条有效路径,0代表可以行走,1代表不能行走, * 找到,请输入最终的迷宫和路径信息, 找不到,请输出不存在有效路径。 * * 软件的运行如下: * * 请输入迷宫的行列数(m * n):5 5 * 请输入迷宫的路径: * 0 0

vivilll的博客 1539

迷宫找路径的代码java_java寻找迷宫路径的简单实现示例

迷宫项目实现设计文档项目介绍:一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。项目功能:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找...

weixin_42339759的博客 282

迷宫(Maze)项目实现

项目介绍:  一个网格迷宫由n行m列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。 项目功能: 寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径。 0代表可走,1代表不能行走,8代表行走的路径。 找到请输出最终的迷宫和路径信息,找不到请输出不存在有效路径。 项目所用知识点:  采用Java面向对象思想,二维数组以及非

qq_41571459的博客 2219

java写的一个迷宫小游戏 (累死我了)

java写的一个迷宫小游戏 (累死我了) /** * @author: 贾兴伟 * @date: Created in 10:41 2020/10/14 */ public class TestDemo2 { public static void main(String[] args) { Maze maze =new Maze(3,3); maze.goMaze(); } } import java.util.*; public class Maze

weixin_47198561的博客 1126
上一篇: Java IO 流的相关知识
下一篇: JAVA实现赫夫曼树
Java-fly
博客等级 码龄9年 13粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值