質問: pow(8, 2); System.out.println(); 多分問題の解釈が違うコード↓ package 課題; public class java9_1 { public static void main(String[] args) { pow(8, 2); // メソッドpowを呼び戻す } public static void pow(int i, int j) { // メソッドpowを作成 System.out.println(Math.pow(i, j)); } } ``` ### 試したこと 試して、powを使うか使わないか?となってます ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答: エラーメッセージを書いていただいてませんが、 Stack overflow ですよね? ``` public static int pow(int i, int j) { int ans = pow(i, j); return ans; } ``` このコードでは、 pow が無限の再帰呼び出しになってます。呼ばれた引数をそのまま自分自身に渡しているので、いつまでたっても終わりません。再帰呼び出しを書く場合は終了条件を先にチェックする必要があります。 ``` public static int pow(int i, int j) { if (j == 1) { return i; } int ans = pow(i, j - 1) * i; return ans; } ``` で、いかがでしょうか。(for 文のほうが簡単だけど、あえて再帰呼び出しにしてみました)