将十进制数转换为另一个基数的程序无法正常工作

时间:2014-03-20 06:42:12

标签: java

我编写了这个程序,将十进制数转换为另一个基数,但是当我用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) ;
    }
}

2 个答案:

答案 0 :(得分:1)

^运营商并没有按照您的想法行事。如果您想升级为电量,请使用Math.pow()

Math.pow(10, i)

但由于此方法返回double,因此您必须将其强制转换为int

(int) Math.pow(10, i)

答案 1 :(得分:0)

检查您的输入。你的num值应该大于基值。例如:30,20输出为100。