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