在我的一次采访中,我被问到了这个问题。我想知道这是否是某种特技问题,还是有一些不同我需要考虑的事情。
问题:编写从1到10的代码,并将每个值输出到stdout。
有任何想法/建议吗?
答案 0 :(得分:2)
也许这个问题是为了看到如何你会解决这个问题,即使看起来很简单。
明显的解决方案:
for (int i = 1; i <= 10; i++)
System.out.println(i);
替代解决方案:
int i = 1;
while (i <= 10)
{
System.out.println(i);
i++;
}
也许如果你已经给出了上述替代解决方案,你的面试官会问你为什么选择这种方法而不是更明显的方法。
答案 1 :(得分:1)
只是递归的方式。
void display(int i){
if(i==0){
return;
}else{
System.out.println(i);
display((--i));
}
}
用display(10)
调用上面的方法答案 2 :(得分:0)
许多类似的面试问题只是要求您确实可以用语言编写for循环代码。许多申请人不能。
Jeff Atwood多次注意到这一点。
答案 3 :(得分:0)
另一种解决方案:
int i = 1;
while (i <= 10)
{
System.out.println(i++);
}