java逼出来的递归中间

请珍惜劳动小编成果。这篇文章是原来小编,转载请注明出处。

有些时候我们须要在中途强制跳出递归。并且还是须要一步跳出,而不一层一层的跳出。这时,我们能够採用抛异常的方法来实现。

 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);
    }

}

这个小样本的方法来实现这个功能

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-24 02:54:33

java逼出来的递归中间的相关文章

8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化

上两篇博客 8皇后以及N皇后算法探究,回溯算法的JAVA实现,递归方案 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,数据结构“栈”实现 研究了递归方法实现回溯,解决N皇后问题,下面我们来探讨一下非递归方案 实验结果令人还是有些失望,原来非递归方案的性能并不比递归方案性能高 代码如下: package com.newflypig.eightqueen; import java.util.Date; /** * 使用循环控制来实现回溯,解决N皇后 * @author [email pr

Java学习之理解递归

Java支持递归.递归是根据自身定义内容的过程.就Java编程而言,递归是一个允许方法调用自身的特性.调用自身的方法被称为递归.典型的例子就是阶乘的计算,N的阶乘就是从1到N之间所有整数的乘积. 当方法调用自身时,在堆栈上为新的局部变量和参数分配内存,并使用这些新的变量从头开始执行方法的代码.当每次递归调用返回时,将旧的局部变量和参数从堆栈中移除,并将执行控制恢复到方法内部的调用点.递归方法被称为"望远镜式"的方法,可以自由伸缩. 许多例程的递归版本,它们的执行速度比与之等价的迭代版本

java中途强制跳出递归

有些时候我们需要在中途强制跳出递归,而且还是需要一步跳出,而不一层一层的跳出,这时,我们可以采用抛异常的方法来实现. class Test { static class StopMsgException extends RuntimeException { } public static void main(String args[]) { try { run(0); } catch (StopMsgException e) { System.out.println(e); } } public

java 树的遍历(递归与非递归)

package wangChaoPA实习工作练习.com.leetcode;import java.util.ArrayList;import java.util.Stack;class TreeNode{    TreeNode left;    TreeNode right;    int val; TreeNode(int x)    {        val = x;    }}public class TreeTrivel{    // 测试    public static void

Java使用线程池递归压缩文件夹下面的所有子文件

本文将介绍Java中利用线程池递归的方式压缩文件夹下面的所有子文件,具体方法如下: Gzip单个文件压缩 对于单个文件使用GZip压缩. package date0805.demo1; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream

JAVA文件扫描(递归)

import java.io.File; public class Scan { public static void main(String[] args) { String fileName = "D:\\Program Files\\腾讯游戏\\英雄联盟" + File.separator; File f = new File(fileName); scan(f); } public static void scan(File f) { if (f != null) { if (

Java——File类,递归

一.File类 获取路径或目录分隔符 public static void main(String[] args) { //File类静态成员变量 //与系统有关的路径分隔符 String separator = File.pathSeparator; System.out.println(separator);// 是一个分号,目录的分割 Linux : //与系统有关的默认名称分隔符 separator = File.separator; System.out.println(separat

Java之File与递归

File类的使用和递归思想 File类 概述 文件: 存储数据 文件夹: 管理文件与文件夹 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例. public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File

java——二分搜索树(递归、非递归)

~ import java.util.Stack; import java.util.LinkedList; import java.util.Queue; //二分搜索树 public class BST <E extends Comparable<E>> { private class Node{ public E e; public Node left, right; public Node(E e) { this.e = e; left = null; right = nu