2012-10-15 25 views
1

我需要得到用戶給定數量的功率值(作爲命令行參數)Math.pow命令行參數

這是我的代碼,它有來了一個編譯錯誤。

任何人都可以幫我嗎?

class SquareRoot{ 

     public static void main(String args []){ 

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

     } 
} 
+0

爲什麼會有人打電話Math.pow(x,2.0)?最好把它寫成x * x。 – duffymo

回答

3

這是因爲Math.pow需要兩個參數。例如:

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

請參閱the javadoc

+0

考慮到類的名稱,第二個參數可能是0.5 – assylias

+0

難題:)謝謝@dan –

+0

@ŦhųLẩnåFệrñảnDö不客氣。 – dan

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); 

而且你的類名是SqaureRootsquare那麼第二個參數需要

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

或者乾脆用Math.sqrt

double squareroot = Math.sqrt(Double.parseDouble(args[0])); 
+0

更可能的是,命令行需要傳入2個參數。 – assylias

+0

@AmitD你不計算平方值。 – dan

+0

仍然存在錯誤:(錯誤:java.lang.math中的pow(double,double)不能應用於(int) –

5

Math.pow需要兩個參數,您必須從命令行取兩個數字或者有一個「硬編碼」。

這是簽名:

public static double pow(double a, double b) 
2

Math#pow(double a, double b)其中ab

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