递归除法

我需要创建一个递归方法,将第一个值(基数10)转换为第二个数字的数字。 这是我到目前为止,但由于某种原因,我不能让递归函数正常工作。 谢谢。

package lab06250; import java.util.Scanner; public class Main { public static void main(String[] args) { Number newNumber; newNumber = new Number(); Scanner kbd = new Scanner(System.in); int number; int remainder = 0; int base; System.out.println("Enter number:"); number = kbd.nextInt(); System.out.println("Enter base"); base = kbd.nextInt(); kbd.nextLine(); System.out.println(Division(number, base)); } public static int Division(int n, int b){ int result; if (n == 1) result = 1; else result = Division(b, (n / b)); return n; } } 

首先,我认为如果你想改变基数(这里是猜数系统),你的逻辑就会有一个流程

工作原理如下:

11十进制(数字系统10)然后

 1*(power(10,1)) + 1*(power(10,0) 

它的二进制当量(2个基数中最高的1个)

1011

 1*(power(2*3)) + 0*(power(2*2)) + 1*(power(2*1)) + 1*(power(2*0)) 

它的辛烷值相当(8个碱基中最高的7个)

13

 1*(power(8*1)) + 3*(power(8*0)) 

你需要在上面的基础上写一些东西并纠正你的逻辑。 只有一个建议使用%而不是除法并尝试添加结果。