【Java线程安全递归】教程文章相关的互联网学习教程文章

Java – 递归地查找String(powerset)的所有子集【代码】

所以,我需要递归地找到给定字符串的所有子集.到目前为止我所拥有的是:static ArrayList<String> powerSet(String s){ArrayList<String> ps = new ArrayList<String>();ps.add(s);for(int i=0; i<s.length(); i++){String temp = s.replace(Character.toString(s.charAt(i)), "");ArrayList<String> ps2 = powerSet(temp);for(int j = 0; j < ps2.size(); j++){ps.add(ps2.get(j));}} return ps;我想我现在知道问题是什么,但我不...

java – 使用递归算法绘制分形【代码】

我在下面编写代码来绘制像照片一样的分形树.但我在第二次递归方法中遇到问题. (用于中间分支长度控制).我如何改进和纠正它? 我的代码:import java.awt.BasicStroke; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame;public class FractalTree1 extends Canvas {// fields for dr...

java – 前向引用和递归【代码】

为什么变量可以调用(初始化自身)一个调用相同变量的方法(似乎是一个递归)?我希望看到无休止的递归,但它编译没有错误.任何解释?class Forward {static int test(){return i;}static int i=test();public static void main(String[] args) {System.out.println(test()); //sout= 0System.out.println(i); //sout =0}}另一个例子.为什么在引用j时引用Backwards.j工作会产生错误(“非法转发引用”):class Backwards{//static i...

java – Json自定义反序列化器卡在无限递归中【代码】

通过以下方式实现自定义反序列化器以反序列化JSON.但mapper.treeToValue导致无限次调用代码.public class MyDeserializer extends StdDeserializer<MyResource> {@Overridepublic myResourcedeserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {MyResource resource = null;Class<? extends MyResource > clazz = null;ObjectMapper mapper = (ObjectMapper) parser.g...

经典递归java编写的算法【代码】

1.斐波那契数列 生兔子 题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思指的是每个月的兔子总对数;假设将兔子分为小中大三种,兔子从出生后三个月后每个月就会生出一对兔子, 那么我们假定第一个月的兔子为小兔子,第二个月为中兔子,第三个月之后就为大兔子,那么第一个月分别有1、0、0,第二个月分别为0、1、...

在Java中递归地对数字的数字进行排序【代码】

我对编程非常陌生,只是在大学里学习它.我有一个任务,我必须在java中递归地解决这个问题(不使用数组,if,else,while等…) 所以任务是从13542到12345对数字进行排序.public static void main(String[] args) {System.out.println(sort(13542));}public static long sort(long n) {return n < 10? n: sort(n, 0); }public static long sort(long n1, long n2) {return n1 > 10? xxx: xxx; }问题是我不知道该怎么做.我认为我的开始没问题...

java – 应该在递归函数中使用StringBuilder吗?【代码】

我理解StringBuilder(通常)的目的是避免在迭代字符串时在Java中反复创建对象,尤其是在循环中. 我想知道在返回字符串的递归函数中使用它是否值得.换句话说,以下哪项更有效?public String recursive(int n) {String retStr = "s"; if (n==0) {return retStr;}else {return retStr + recursive(n-1);} }要么public String recursive(int n) {String retStr = "s";StringBuilder sb = new StringBuilder();if (n==0) {return retSt...

在Java中使用递归泛型时不兼容的类型【代码】

我写过java code,其中我使用递归形式的泛型来实现一种使Builder模式可继承的简洁方法. 这有效,但我不明白我从java编译器得到的一些警告和错误. 这是我不理解的部分的严重简化版本:package nl.basjes.test;public class Foo<X extends Foo<X>> {public X doSomething() {return this;} }对于“归还这个”;我收到了错误Incompatible Types Required: X Found : nl.basjes.test.Foo <X>现在’this’始终是Foo的子类(甚至是Foo本身)...

Java:理解递归方法调用的麻烦【代码】

我希望你们都过得愉快. 我的老师把裤子弄糊涂了.我已经阅读了我的书并进行了研究,但我仍然感到困惑.我刚刚学习方法,所以我还有很长的路要走.我制作了一个类似游戏的“Oregon Trail”,它使用“游戏结束”方法来询问用户是否想要再次玩游戏. 主要问题:我的老师提到了一些含糊不清的问题,如果游戏循环次数足够多,我们最终会得到一个stackOverflow.这对我来说是有意义的,因为游戏继续以我的方式将方法嵌套在彼此内部,每次调用“新游戏...

java – 自动将循环重构为递归方法?【代码】

您是否知道一种工具可以自动将带有单个循环的方法重构为递归方法,最好是在Java中? 这是出于教学目的.解决方法:我不认为这样的工具存在,因为通常重构旨在提高性能,而不是降低它(使用递归方法而不是循环时就是这种情况).如果是出于教学目的,为什么不让学生创造出能够做到这一点的工具呢?这样,他们可以同时学习递归和解析. 我不知道递归是否可以自动化,但这里的转换应该是什么样子.为了演示,我们在伪代码中采用泛型for循环:loopFun...

Java递归,用对象调用它 – 如何复制对象?【代码】

旧的价值/参考事物.我得到ConcurrentModificationException为了改编Bron-Kerbosch.public int[] bk(ArrayList<Integer> R, ArrayList<Integer> P, ArrayList<Integer> X) {int count[] = new int[n];int u=0, c = 0;ArrayList<Integer> tempPX = new ArrayList<Integer>();ArrayList<Integer> newP = P;ArrayList<Integer> newX = X;ArrayList<Integer> newR = R;if (P.isEmpty() && X.isEmpty()) {count[R.size()]++;} else {u = ...

在Java中以递归方式打印String的反向【代码】

由于某种原因,当字符串长度为零时,它不会出现在while循环中.有人可以帮我吗?static String str1 = "";public static void reverse(String str) {while (str.length() > 0) {str1 = str1 + str.charAt(str.length() - 1);StringBuffer str_buf = new StringBuffer(str);str = str_buf.deleteCharAt(str.length() - 1).toString();reverse(str);}System.out.println("String is " + str1); }解决方法:用if替换if(str.length()>0)更新...

在Java中创建递归【代码】

最初这看起来似乎没什么问题,但是我越是想做到这一点,我就越陷入困境. 我期待创建一个递归方法,将带有一个字符串和输出组合点,如下所示: 输入:测试 输出:test t.est te.st tes.t t.es.t te.s.t t.e.s.t t.e.st你明白了……我需要角色之间所有点的排列.但是两个点不应该一起出现,而dot不应该是第一个或最后一个字符. 我写的代码是:public final class Main{public static void main(String[] args) throws Exception{recurse ("...

java使用IO流递归显示.java结尾的文件,递归删除文件,

import java.io.File; public class ShowJava { public static void main(String[] args) { File file = new File(“D:\javaFile\javaTest”); ShowClass showClass = new ShowClass(); showClass.show(file); } } class ShowClass { //用好递归可以有效地解决编程中复杂的一些问题 public void show(File file) { if (file.isFile() && file.getName().endsWith(“java”)) { System.out.println(file); } else { File[] files = ...

java递归【代码】

day08【File类、递归】 主要内容File类 递归教学目标能够说出File对象的创建方式能够说出File类获取名称的方法名称能够说出File类获取绝对路径的方法名称能够说出File类获取文件大小的方法名称能够说出File类判断是否是文件的方法名称能够说出File类判断是否是文件夹的方法名称能够辨别相对路径和绝对路径能够遍历文件夹能够解释递归的含义能够使用递归的方式计算5的阶乘能够说出使用递归会内存溢出隐患的原因第一章 File类 1.1 概...