Java 跳出递归循环问题解决办法
使用异常跳出循环
1、如果方法体内含有需要抛出异常的对象,让方法直接抛出异常,不要在方法体内捕获
public void xxxx() throws Exception
2、如果方法体内不含有需要抛出异常的对象
class Test { static class StopMsgException extends RuntimeException { } public static void main(String args[]) { try { run(0); } catch (StopMsgException e) { System.out.println(e); } } public static void run(int t) { if (t > 20) { // 跳出 throw new StopMsgException(); } // 执行操作 System.out.println(t); // 递归 run(t + 1); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
详解Java中的增强 for 循环 foreach
foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理.能够提高性能,并减少代码出错的几率.在 Java 中还有比如 泛型.自动拆箱.自动装箱.内部类.枚举等等. foreach 是用来对数组或者集合进行遍历的语法.具体语法如下: for(元素类型 ele : 数组名/Iterable 实例){ } 下面我们用 foreach 来对数组和一个集合进行遍历: int [] array = {1,2
-
Java编程几个循环实例代码分享
有关Java循环的内容,编程中还是比较常用的,下面分享给大家几个循环的示例代码,练习一下. 1.循环输出1到100之间所有能被3或能被4整除的数. package com.hz.loop02; /** * 1.循环输出1到100之间所有能被3或能被4整除的数. * @author ztw * */ public class Practice01 { public static void main(String[] args) { for (int i=1;i<=100;i++){ //判断下是否
-
java高效打印一个二维数组的实例(不用递归,不用两个for循环)
打印1个元素,不让循环变量i++,走出思维定式(执行一次循环体,就i++).public class OneForPrint2DArr { public static void main(String[] args) throws Exception { int[][] a = { { 1, 2, 3 }, { 4, 5} }; for (int i = 0, j = 0; i < a.length;) { System.out.println(a[i][j]); j++; if (j >=
-
Java中List for循环的6种写法总结(推荐)
如下所示: List<String> list = new ArrayList<String>(); /** * 方法一:最普通的不加思考的写法 * <p> * 优点:较常见,易于理解 * <p> * 缺点:每次都要计算list.size() */ for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } /** * 方法二:数组长度提取出来 * <p&g
-
深入了解java8的foreach循环
虽然java8出来很久了,但是之前用的一直也不多,最近正好学习了java8,推荐一本书还是不错的<写给大忙人看的javase8>.因为学习了Java8,所以只要能用到的地方都会去用,尤其是Java8的Stream,感觉用起来觉得很方便,因为点点点就出来了,而且代码那么简洁.现在开始慢慢深入了解java8,发现很多东西不能看表面. 比如常规遍历一个集合,下面给出例子: 1.首先遍历一个List 方式1.一开始是这样的: public static void test1(List<Strin
-
Java 跳出递归循环问题解决办法
使用异常跳出循环 1.如果方法体内含有需要抛出异常的对象,让方法直接抛出异常,不要在方法体内捕获 public void xxxx() throws Exception 2.如果方法体内不含有需要抛出异常的对象 class Test { static class StopMsgException extends RuntimeException { } public static void main(String args[]) { try { run(0); } catch (StopMsgE
-
Java 线程死锁的问题解决办法
Java 线程死锁的问题解决办法 [线程死锁] 原因:两个线程相互等待被对方锁定的资源 代码模拟: public class DeadLock { public static void main(String[] args) { Object obj = new Object(); Object obj1 = new Object(); DeadLockThread1 D1 = new DeadLockThread1(obj, obj1); DeadLockThread2 D2 = new
-
java 中序列化NotSerializableException问题解决办法
java 中序列化NotSerializableException问题解决办法 前言: 某项目中,要将某个自定义类MMessage对象,通过ObjectOutputStream和ObjectInputStream传递,该MMessage的特征描述: 1 该类未继承Serializable接口: 2 其父类Message的父类继承了Serializable接口: 3 其父类中有一个字段类型为Java.io.ByteArrayOutputStream类型: 经测试发现,MMessage类序列化过程中
-
PHP和JAVA的XML-RPC中文问题解决办法
问题描述: 在使用PHP和JAVA操作XML-RPC的时候,如果request中包含中文字符,会被自动编码成如下样式: 欢欢 . 环境:PHP内置XML-RPC的API,Apache的XML-RPC的JAVA API PHP下的解决方法: 起初以为是中文字符的编码问题,所以我就尝试用各种编码方式来编码中文字符,然后交给string xmlrpc_encode_request ( string method, mixed params)函数来生成XML格式的请求,可是依然如故.
-
Android 中出现java.net.BindException: bind failed: EADDRINUSE 问题解决办法
Android 中出现java.net.BindException: bind failed: EADDRINUSE 问题解决办法 看下问题: try{ DatagramSocket udpSocket = new DatagramSocket(DEFAULT_PORT ); } catch (Exception e) { e.printStackTrace(); } //java.net.BindException: bind failed: EADDRINUSE (Address alrea
-
java中FileOutputStream中文乱码问题解决办法
java中FileOutputStream中文乱码问题解决办法 使用FileOutputStream序列化可以直接向文件写入文本内容,代码如下: FileOutputStream outStream = new FileOutputStream(file); outStream.write(str.getBytes()); outStream.close(); 但这里的字符串如果包含中文,就会出现乱码,这是因为FileOutputStream是字节流,将文本按字节写入文件,而一个汉字是两个字节,
-
Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例
本文实例讲述了Java基于递归和循环两种方式实现未知维度集合的笛卡尔积.分享给大家供大家参考,具体如下: 什么是笛卡尔积? 在数学中,两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员. 假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}. 如何用程序算法实现笛卡尔积? 如果编程前已知集合的数量
-
java 中break如何跳出外部循环
学习就是为了不断的看到自己的知识盲点,然后改正,以前知道如何使用break来跳出循环,突然学习到可以用break跳出外部的循环(以前只知道怎么调本次的循环). 上正题代码如下: break跳出本次循环: public static void main(String[] args) { for (int i = 0; i < 10; i++) { for (int j = 0; j <=10; j++) { System.err.println(i+j); if(i+j==10) { break
-
java 中 poi解析Excel文件版本问题解决办法
poi解析Excel文件版本问题解决办法 poi解析Excel文件时有两种格式: HSSFWorkbook格式用来解析Excel2003(xls)的文件 XSSFWorkbook格式用来解析Excel2007(xlsx)的文件 如果用HSSFWorkbook解析Excel2007(xlsx)时就会报异常:" The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that d
-
linux上TCP connection timeout问题解决办法
linux上TCP connection timeout问题解决办法 最近在产线上经常出现connection timeout的问题,先看看Java 中关于connection timeout 的异常如何产生 JAVA中的timeout java.net.SocketTimeoutException: connect timed out 客户端异常:connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method
随机推荐
- PHP preg_replace() 正则替换所有符合条件的字符串
- 详解vue2.0组件通信各种情况总结与实例分析
- ASP.NET中获取URL重写前的原始地址详解
- 理解js对象继承的N种模式
- PHP校验ISBN码的函数代码
- PHP控制前台弹出对话框的实现方法
- Android自定义View实现shape图形绘制
- Android 2.3.7.r1 camera录像过程中按menu菜单键时会停止录像
- Python3读取UTF-8文件及统计文件行数的方法
- 高手推荐的比较有用的ASP函数集合
- JAVA浮点数计算精度损失底层原理与解决方案
- 名人励志,鼓舞你的人生,《时间与方法》,人间唯一的部公平法律就是时间
- iis配置绑定二级域名的问题
- Android实现微信分享带有缩略图的网页
- Javascript SHA-1:Secure Hash Algorithm
- 更正确的asp冒泡排序
- JavaScript 数组some()和filter()的用法及区别
- NodeJS的Promise的用法解析
- Android毛玻璃背景效果简单实现代码
- vue项目中使用ueditor的实例讲解