使用第二个变量
打印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个数,即我给出的输入数
答案 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.Scannerimport java.util.Scanner
现在确保您还使用扫描仪制作了一个对象,如
Scanner sc = new Scanner(System.in)
这应该有效