java - 我想通过java中的递归打印1到n个数字
问题描述
public class Main {
public static void main(String[] args) {
print(10);
}
static void print(int s)
{
if (1==s) {
System.out.print(s);
}
System.out.print(s);
print(s-1);
}
}
但我想要这样的输出:
12345678910
解决方案
你现有的递归永远不会结束。你应该只在s >= 1
.
要按升序打印数字,您需要先进行递归调用,然后打印当前数字:
static void print(int s)
{
if (s >= 1) {
print(s-1);
System.out.print(s);
}
}
推荐阅读
- node.js - 温斯顿 - 无法将控制台消息记录到文件中
- c++ - 可以使用 if-with-initializer (C++17) 格式化格式吗?
- ios - 在 Xcode 中测试“API_BASE_URL”的最佳方法?
- r - 使用逗号小数分隔符创建函数 my.render.cat 而不是 r 中的点
- c# - C#如何获取网页的图标
- javascript - 从数组中的对象动态创建逻辑 OR (||) 运算符
- c# - 后台工作人员完成WinForm后如何启用所有控件
- reactjs - 我想在用户 isAuthenticated 时将状态设置为 true ,当初始状态为 false 时,用户将看到登录注册链接
- javascript - 更改位置或隐藏 div
- reactjs - 如何从快速后端服务器返回用户 ID