1

我需要通过用户获取给定数字的幂值(作为命令行参数)

这是我的代码,它出现了编译错误。

谁能帮帮我吗 ?

class SquareRoot{

      public static void main(String args []){

          double power = Math.pow(args[0]);         
          System.out.println("Your squared value is " + power);

      }
}
4

4 回答 4

5

Math.pow接受两个参数,您必须从命令行获取两个数字或一个“硬编码”。

这是签名:

public static double pow(double a, double b)
于 2012-10-15T12:06:40.273 回答
3

args[0]String您需要将其转换为双精度。您可以使用Double.parseDouble()

检查Math.pow的语法

double power = Math.pow(Double.parseDouble(args[0]), Double.parseDouble(args[1]));

您需要传递两个参数baseexponent. 或者对于正方形,您将具有第二个参数的值2

double power = Math.pow(Double.parseDouble(args[0]), 2);

此外,您的班级名称SqaureRoot也不square是第二个参数

 double power = Math.pow(Double.parseDouble(args[0]), 0.5);

或者干脆使用Math.sqrt

double squareroot = Math.sqrt(Double.parseDouble(args[0]));
于 2012-10-15T12:03:21.537 回答
3

这是因为 Math.pow 需要两个参数。就像是:

double power = Math.pow(Double.parseDouble(args[0]),2.0);

请参阅javadoc

于 2012-10-15T12:04:46.710 回答
2

Math#pow(double a, double b)在哪里ab

double power = Math.pow(Double.parseDouble(args[0]),2);
于 2012-10-15T12:07:08.720 回答