2010-12-10 11 views
13

私は簡単な質問がありますが、解決策が見つかりません。javaでabs()メソッドを使用しています。私のコンパイラはメソッドを知らない

the abs()メソッドを使用しますが動作しません。私はいつも得ていますError:" Cannot find symbol: method abs(int)".

私はすでにコードの上に"import java.math"を含めることによって方法を使用しようとしました。しかし、それはあまりにも働きません。

+0

感謝のでそれらを前置することなく、単にabs()Mathクラスから、他のすべての静的メソッド)を使用できるようになります。 – Ordo

+1

申し訳ありませんが、私は問題を解決した最初のものを受け入れました。私はそれが公正だと思う。 – Ordo

+2

ええ、私はまた、 "最悪"が厳しいと思う、私は男が彼の問題を解決するのを助け、軽蔑的な解説の必要性に少し混乱している。そして、誰かからのdownvote、私は、OPが有用と受け入れた正解については気づいていますか? WTF? – Brian

答えて

14

あなたが使用しています:

Math.abs() 

か、単に

abs() 

使用Math.abs()

4

あなたは、あなたがそれを使用する場合Mathクラスを参照する必要があります。

Math.abs(<intval>) 
5

それは静的メソッドです。それはこのように使用する必要があります。Javaで

Math.abs(int); 

javadoc

See Class Methods in the Java Tutorial.

+1

静的インポートを使用することもできます。http://download.oracle.com/javase/1.5.0/docs/guide/language/static-import.html – Pushkar

+0

@Apache Fan - True。しかし、私は通常、数学を保つ方が良いと思うので、その方法がどこから来るのかは読者には明らかです。 absを使い、それをたくさん使うのであれば、 'import static javs.lang.Math.abs;'は良い考えです。 – Adam

+0

私は、静的な数学のインポートが多くの難解なコードにつながることに完全に同意します。 – Pushkar

8

すべての機能は、クラスの一部です。 ABS()それはそう何

14

をインポートする必要が

Math.abs(number)

としてそれを呼び出していない、java.langでのだか、Mathクラスの静的メンバなので、

Math.abs(val); 

を呼び出しますインポート:

import static java.lang.Math.abs;

4

または

import static java.lang.Math.*; 
4

まず第一に、それはjava.lang.Mathだ(あなたのパッケージが間違っていたと数学が大文字である)が、java.lang内のすべてのクラスが自動的にインポートされているので、それは問題ではありません。

ブライアン氏によれば、Math.abs()を使用します。それとも、あなたは静的メソッドをインポートすることができます。

import static java.lang.Math.*; 

これは、あなたがすべてのsuggetionsためMath.