在java中使用第二个变量打印1到n的数字?

Hai*_*ndu -3 java for-loop

使用第二个变量打印1到n的数字

我是这样写的

System.out.println("enter the input number");
int input = sc.nextInt();
Run Code Online (Sandbox Code Playgroud)

输入一个变量,但我们再次使用另一个变量.所以我堆在这里.

如果我这样写,它显示1到整数的最大值,但在这里我没有输入值

for(int i=1;i<Integer.MAX_VALUE;i++)
{
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

如果我像这样写我带两个变量

for(int i=1;i<input;i++)
{
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

但我只显示最大值的整数,但我想显示最多n个数字,即我给出的输入数字

Ahm*_*Amr 5

你可以使用递归来解决这个问题,这里是函数,solve(n)的输出将是1 ... n中的数字:

public void solve(int n){
          if(n==0)return;
          solve(n-1);
          System.out.println(n);
}
Run Code Online (Sandbox Code Playgroud)

说明:我们来看一个n = 4的例子:

初始通话将被解决(4)

solve(4)在打印之前会调用solve(3).

solve(3)在打印之前会调用solve(2).

solve(2)在打印之前会调用solve(1).

solve(1)在打印之前调用solve(0).

solve(0)将在n = 0时触及基本情况,因此它将返回求解(1)以继续执行.

求解(1)将继续并打印1然后返回求解(2)

求解(2)将继续打印2然后返回求解(3)

求解(3)将继续打印3然后返回求解(4)

solve(4)将继续并打印4然后返回到solve(4)的调用者.