math.pow()不起作用,似乎没问题

时间:2014-06-24 17:13:32

标签: java math

大家好,我有以下代码,并重新调整异常,说" double无法转换为String&#34 ;;对我来说一切看起来都不错,但不知道我是否遗漏了什么。  感谢;

            double operadorD=this.nAleatoreo.nextInt(9);
            double operandoD=this.nAleatoreo.nextInt(3); 
            double potencia =Math.pow(operadorD, operandoD);
            generaRespuestas(Integer.parseInt(potencia));
            break;

* generaRespuesta收到一个int,这就是为什么我将它转换为int。

3 个答案:

答案 0 :(得分:0)

parseInt接受一个字符串。如果你想从double转换为int,那么parseInt就不是这样了。一种方法(抛弃精度)就是简单地施放它。

generaRespuestas((int)potencia);

答案 1 :(得分:0)

是。这是因为Integer#parseInt(String)需要的java.lang.String不是int。但是,您当然可以将Math.pow的结果转换为int(相应的精度损失)。

int potencia = (int) Math.pow(operadorD, operandoD);
generaRespuestas(potencia);

答案 2 :(得分:0)

Integer.parseInt():需要一个字符串参数。但Math.pow()正在向您发送double

变化

double potencia =Math.pow(operadorD, operandoD);

int potencia =(int)Math.pow(operadorD, operandoD);