2010-12-10 21 views
13

yöntemini bilmiyor. Basit bir sorum var, ancak bunun için bir çözüm bulamıyorum.Java'da abs() yöntemini kullanma. Derleyicim,

the abs() yöntemini kullanmak istiyorum ancak çalışmıyor. Error:" Cannot find symbol: method abs(int)".

Her zaman bu kodu kodun üzerinde "import java.math" ekleyerek kullanmayı denedim. Ama bu da işe yaramıyor.

+0

Teşekkür'ın ile öneki olmadan sadece abs() (Math sınıftan ve diğer tüm statik yöntemler) kullanmanızı sağlayacak. – Ordo

+1

Üzgünüm ama problemimi çözen ilk olanı kabul ettim. Bence bu adil. – Ordo

+2

Evet, aynı zamanda "en kötü" nin sert olduğunu düşünüyorum, adamın problemini çözmesine yardım ettim ve kibirli yorumlama ihtiyacında biraz kafam karıştı. Ve birinden gelen bir düşüş, doğru bir cevap için OP'nin faydalı olduğunu kabul ettiğini fark ettim. O ne lan? – Brian

cevap

14

sen kullanıyorsun:

Math.abs() 

ya da sadece

abs() 

?

Kullanım Sen bunu kullandığınızda Math sınıfa başvurmak zorunda Math.abs()

4

:

Math.abs(<intval>) 
5

Bu statik bir metod. Böyle kullanılmalıdır: Java

Math.abs(int); 

javadoc

See Class Methods in the Java Tutorial.

+1

Veya statik bir içe aktarma kullanabilirsiniz: http://download.oracle.com/javase/1.5.0/docs/guide/language/static-import.html – Pushkar

+0

@Apache Fan - True. Ama bence Math'ı tutmak, yöntemin nereden geldiğini okuyucuya açık olduğu için genellikle daha iyidir. Eğer sadece abs kullanıyor ve çok kullanıyorsanız evet, 'import import javs.lang.Math.abs; 'iyi bir fikir. – Adam

+0

Tamamen, Matematik'in statik olarak içe aktarılmasının kodun anlaşılmasında çok zor olabileceğine katılıyorum. – Pushkar

8

Tüm fonksiyonlar bir sınıfın bir parçasıdır. abs() Math sınıfının statik üyesi, bu nedenle bu java.lang öyle

Math.abs(val); 

diyoruz, böylece gerek

Math.abs(number)

ya da olduğu gibi Çağrı için herşeyi

14

ithal etmek ithalat olarak:

import static java.lang.Math.abs;

4

Veya

import static java.lang.Math.*; 
4

Her şeyden önce, bu java.lang.Math (paketiniz yanlış olduğunu ve Matematik sermayeleşmiş durumdadır) ama java.lang tüm sınıflar otomatik olarak alınır çünkü bu bir problem değil. Brian'ın dediği gibi, Math.abs() kullanın. Veya, statik yöntemleri alabilirsiniz:

import static java.lang.Math.*; 

Bu, tüm suggetions için Math.

İlgili konular