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

时间:2016-06-24 07:39:07

标签: java for-loop

使用第二个变量

打印1到n的数字 我是这样写的

System.out.println("enter the input number");
int input = sc.nextInt();

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

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

for(int i=1;i<Integer.MAX_VALUE;i++)
{
System.out.println(i);
}

如果我这样写,我会带两个变量

for(int i=1;i<input;i++)
{
System.out.println(i);
}

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

3 个答案:

答案 0 :(得分:5)

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

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

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

初始通话将被解决(4)

solve(4)将在打印之前调用solve(3)。

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

solve(2)将在打印之前调用solve(1)。

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

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

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

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

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

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

答案 1 :(得分:0)

这可以解决您的问题。它将打印数字1到i但反过来:

while(i>0){
     System.out.println(i--);
}

顺便说一句,Integer.MAX_VALUE是一个常量,所以如果允许的话,为什么不让我成为常量并初始化另一个从1循环到i的变量x?

但是为什么这个限制变量的要求,我可以问一下吗?

答案 2 :(得分:0)

确保您已导入类似

的java.util.Scanner
import java.util.Scanner

现在确保您还使用扫描仪制作了一个对象,如

Scanner sc = new Scanner(System.in)

这应该有效