私はあるインタビューでこの質問をされました。これはある種のひっかけ問題なのか、それとも別のことを考えなければならないのでしょうか。
質問: 1 から 10 までカウントし、各値を stdout に出力するコードを作成してください。
考えや提案はありますか?
私はあるインタビューでこの質問をされました。これはある種のひっかけ問題なのか、それとも別のことを考えなければならないのでしょうか。
質問: 1 から 10 までカウントし、各値を stdout に出力するコードを作成してください。
考えや提案はありますか?
おそらく、この質問は、単純に見えても、これをどのように解決するかを確認することを目的としていました.
明白な解決策:
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 ループをコーディングできるかどうかを確認するためだけに求められます。できない応募者が多い。
Jeff Atwoodはこれを何度も指摘しています。