首页 / JAVA / 在Java中创建递归
在Java中创建递归
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Java中创建递归,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1332字,纯文字阅读大概需要2分钟。
内容图文
![在Java中创建递归](/upload/InfoBanner/zyjiaocheng/736/c1eb5f71eefc4edc9894eb9b5d81359c.jpg)
最初这看起来似乎没什么问题,但是我越是想做到这一点,我就越陷入困境.
我期待创建一个递归方法,将带有一个字符串和输出组合点,如下所示:
输入:测试
输出:
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 ("test");
}
public static void recurse(String str){
recurse("",str);
}
public static void recurse (String pre, String str){
if(str.length() > 1){
recurse(pre+str.substring(0,1)+".",str.substring(1));
}
System.out.println(pre+str);
}
}
但是,我无法理解它.我该怎么办?
仅仅为了澄清我从https://medium.com/@JakeCooper/so-nice-i-did-it-twice-hacking-the-oneplus-reservation-system-again-2e8226c45f9a获得了这个想法,但我没有任何黑客入侵邀请系统的意图.
解决方法:
尝试
public static void recurse(String prev, String next) {
if (next.length() == 0)
System.out.println(prev);
else {
recurse(prev + next.charAt(0), next.substring(1));
recurse(prev + "." + next.charAt(0), next.substring(1));
}
}
如果你允许的话.要在整个String之前,使用:
String s = "test";
recurse("",s);
如果你不允许.先于:
recurse(s.charAt(0), s.substring(1));
如果你允许的话.要附加(即test.,t.e.s.t.),将if块更改为
if (next.length() == 0) {
System.out.println(prev);
System.out.println(prev + ".");
}
内容总结
以上是互联网集市为您收集整理的在Java中创建递归全部内容,希望文章能够帮你解决在Java中创建递归所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。