我需要创建一个递归方法,将第一个值(基数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;
}
}
答案 0 :(得分:1)
首先,如果你想改变基数(猜测数字系统),我认为你的逻辑中有一个流程
的工作原理如下:
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))
你需要在上面的基础上写一些东西并纠正你的逻辑。只有一个建议使用%而不是除法并尝试添加结果。