gpt4 book ai didi

java - 递归地按升序打印整数

转载 作者:行者123 更新时间:2023-12-01 17:41:41 26 4
gpt4 key购买 nike

今天,我参加了考试,有一道题:

编写一个方法,以升序顺序递归从 1 到 n 打印整数:

public class PrintIntegersAscendingOrder {

static int counter = 0;
public static void PrintIntegersAscendingOrder (int n)
{
if (n == 1)
{

System.out.printf("%d\n", ++counter);
}
else
{
System.out.printf("%d ", ++counter);
PrintIntegersAscendingOrder(n-1);
}

}
public static void main (String args[])
{
PrintIntegersAscendingOrder(5);
}
}

虽然这个方法现在可以工作了,但是最初的问题并没有询问类定义,而是询问方法。在那里,我无法安装计数器(我已经在纸上的 if 内写了计数器,但它在程序中给出了错误)。如果没有计数器变量,如何精确正确地编写方法?

最佳答案

你可以这样做:

public class IntegerAscendingOrder {
public static void main(String[] args) throws Exception {
printIntegersAscendingOrder(n);
}

private static void printIntegersAscendingOrder(int i) {
if (i < 1) {
return;
}

printIntegersAscendingOrder(i-1);
System.out.println(i);
}
}

您不需要类中的计数器变量,使用递归您可以限制方法本身内的方法调用。

注意 if (i < 1) {return;}行,这将终止递归方法调用。

这篇文章应该对您有帮助 Getting started with recursion

关于java - 递归地按升序打印整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60306316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com