使用第二个变量打印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个数字,即我给出的输入数字
你可以使用递归来解决这个问题,这里是函数,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)的调用者.
归档时间: |
|
查看次数: |
579 次 |
最近记录: |