当前位置: 首页 > 知识库问答 >
问题:

为什么这个答案对从1到100的打印不起作用?

叶裕
2023-03-14
java prettyprint-override">public class Main
{
    public static void main(String[] args) {
          
          counting(100);
          
    }
     static void counting(int n)
    {
        if(n==1)
        {
            System.out.print(n);
            return ;
        }
        counting(n--);//if we do for n-1 then this code works
        System.out.print(","+n);
        
    }
}

共有1个答案

花飞尘
2023-03-14

n--表示首先使用n然后递减=>计数将始终使用相同的n调用

要解决这个问题,您必须这样写:counting(--n)。这将首先递减,然后使用新值。

参见:Java中的X++和++X有区别吗?

 类似资料:
  • 我对NAT表的理解是 NAT表仅映射(专用IP:端口)->(公用IP:端口) 它不关心协议或套接字连接 主机A关闭套接字并在同一本地端口(100)上打开新监听套接字 但这没用!我发现了其他复杂的实现,但我很好奇这种方式有什么问题。

  • 问题内容: 我使用占用所有可用空间的第三方组件,即width=100%和height=100%。我没有控制权。 我正在尝试使其适合以下布局,但是它height=100%不起作用(我希望第三方组件占据所有绿色空间)。 为什么?您将如何解决? 问题答案: 通常,对于使用percent on height来获取其父代的高度的元素,父代需要的高度不是auto或定位为绝对高度,否则height将计算为aut

  • 对于python我是新手,我正在做leetcode问题94,二叉树顺序遍历。给定二叉树的根,返回对其节点值的inorder遍历。 但我还是不明白它为什么有用。在之后,在递归过程中,res变量不会被重新分配给[]吗?或者res变量在不同的递归中应该是不同的变量吗?

  • 我想知道当您试图捕获StackOverflowError时会发生什么,并提出了以下方法: 现在我的问题是: 为什么这个方法打印'4'? 我想可能是因为在调用堆栈上需要3个段,但我不知道3这个数字来自哪里。当您查看的源代码(和字节码)时,通常会导致比3个多得多的方法调用(因此调用堆栈中的3个段是不够的)。如果这是因为Hotspot VM应用的优化(方法内联),我想知道在另一个VM上结果是否会有所不同

  • 问题内容: 嗨,我只是想创建一个简单的golang应用程序,它使用以下命令在identi.ca上发布新的凹痕 到目前为止,这是我的代码,恕我直言,这应该起作用,但实际上它不起作用,有人知道如何解决此问题吗? 编辑: 不:我没有收到任何错误消息:/ 问题答案: 不会将整个命令行作为单个参数。您需要将其称为: 您怎么知道是否遇到错误?您无需检查的返回值。 您实际上应该将命令创建与运行分开。这样,您可以

  • 我是多线程的新手,我有一个问题,要在Java中使用10个线程打印1到100,并使用以下约束。 > 线程 应打印: 1, 11, 21, 31, ...91 < code>t2应打印: 2, 12, 22, 32, ... 92 同样地 < code>t10应打印: 10, 20, 30, ... 100 最终输出应为: 1 2 3 ..100 我已经尝试过了,但它在所有10个线程中都抛出了以下异常