再帰を試すのはこれが初めてなので、愚かで申し訳ありません。Java で数値のデジタル ルートを計算しようとしています。9で割って計算できることを確認しましたが、それでも再帰を使いたいです。Java での再帰コードの何が問題なのか教えていただけますか? どうすれば修正できますか?サンプルコードを提供していただけますか?
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int inputnumber = inputnumber(console);
int sumofdigit = sumofdigit(inputnumber);
int digitalroot = digitalroot(inputnumber);
System.out.println("That number is :" + digitalroot);
}
//input console
public static int inputnumber(Scanner console){
System.out.println("Please input: ");
int num = console.nextInt();
return num;}
public static int digitalroot(int inputnumber ) {
if(inputnumber<10){
return inputnumber;
} else {
return digitalroot(sumofdigit(inputnumber));
}
}
// calculate sum of digits
public static int sumofdigit(int inputnumber){
return sumofdigit(inputnumber/10) + inputnumber%10;
}