在我的一次採訪中,我被問到了這個問題。我想知道這是一個什麼樣的技巧問題,或者是有什麼不同,我不得不考慮它。在標準輸出中打印數字的程序
問題:編寫從1到10的計數代碼,並將每個值輸出到標準輸出。
有什麼想法/建議嗎?
在我的一次採訪中,我被問到了這個問題。我想知道這是一個什麼樣的技巧問題,或者是有什麼不同,我不得不考慮它。在標準輸出中打印數字的程序
問題:編寫從1到10的計數代碼,並將每個值輸出到標準輸出。
有什麼想法/建議嗎?
像這樣的許多面試問題只會讓你看到你實際上可以在語言中編寫一個for循環。許多申請人不能。
Jeff Atwood已經注意到了很多次。
也許這個問題的目的是要看如何你會解決這個問題,即使它看起來很簡單。
明顯的解決方案:
for (int i = 1; i <= 10; i++)
System.out.println(i);
替代解決方案:
int i = 1;
while (i <= 10)
{
System.out.println(i);
i++;
}
或許,如果你給了上面的替代解決方案,面試官會問你爲什麼你選擇了這種方法,而不是更明顯一。
謝謝,我確實給了這兩個。想要給一個使用開關的情況下,還有'C'中的'goto'聲明:P – noMAD 2012-04-12 00:50:52
@noMAD嗯,我想面試官得到了他想要的,然後...... – 2012-04-13 10:34:52
另一種解決方案:
int i = 1;
while (i <= 10)
{
System.out.println(i++);
}
做的只是遞歸的方式。
void display(int i){
if(i==0){
return;
}else{
System.out.println(i);
display((--i));
}
}
呼叫與顯示上述方法(10)
似乎相當簡單...在那裏附加約束或是,這個問題是什麼呢? – kaveman 2012-04-12 00:42:54
爲什麼_你的想法?面試時你回答了什麼? – Bernard 2012-04-12 00:43:10
如果你考慮一個技巧性的問題,我會說編程不是你的一杯茶。 **編輯** nvm我雖然你sai **棘手**大聲笑 – MarioDS 2012-04-12 00:43:20