我编写了这个程序,将十进制数转换为另一个基数,但是当我用eclipse运行时,任何数字的答案都是0
。
import java.util.Scanner;
public class dtb {
public static void main(String[] args) {
Scanner myscanner = new Scanner (System.in);
int num= myscanner.nextInt();
int base= myscanner.nextInt();
int i=0;
int y=0;
while (num >= base){
int x = (num%base);
num = num/base;
y = (y + (x*(10^i)));
}
System.out.println (y) ;
}
}
答案 0 :(得分:1)
^
运营商并没有按照您的想法行事。如果您想升级为电量,请使用Math.pow()
:
Math.pow(10, i)
但由于此方法返回double
,因此您必须将其强制转换为int
:
(int) Math.pow(10, i)
答案 1 :(得分:0)
检查您的输入。你的num值应该大于基值。例如:30,20输出为100。