2010-12-10 9 views
13

Tengo una pregunta simple, pero no puedo encontrar una solución para ella.Usando el método abs() en java. Mi compilador no conoce el método

Quiero usar el método the abs() pero no funciona. Siempre obtengo el Error:" Cannot find symbol: method abs(int)".

Ya he intentado utilizar el método incluyendo "import java.math" arriba del código. Pero eso tampoco funciona.

+0

Gracias es para todos los suggetions. – Ordo

+1

Lo siento pero acepté el primero que resolvió mi problema. Creo que eso es justo. – Ordo

+2

Sí, también creo que "lo peor" es duro, ayudé al chico a resolver su problema y estoy un poco confundido por la necesidad de comentarios peyorativos. Y un voto negativo de alguien, noto, ¿para una respuesta correcta, el OP ha aceptado como útil? Wtf? – Brian

Respuesta

14

¿Está utilizando:

Math.abs() 

o simplemente

abs() 

?

Uso Math.abs()

4

Hay que referirse a la clase Math cuando lo utiliza:

Math.abs(<intval>) 
5

Es un método estático. Tiene que ser utilizado de esta manera:

Math.abs(int); 

javadoc

See Class Methods in the Java Tutorial.

+1

O puede usar una importación estática: http://download.oracle.com/javase/1.5.0/docs/guide/language/static-import.html – Pushkar

+0

@Apache Fan - True. Pero creo que por lo general es mejor mantener las matemáticas, así que es claro para el lector de dónde proviene el método. Si solo usa ABS y lo usa mucho, sí, 'import static javs.lang.Math.abs;' es una buena idea. – Adam

+0

Estoy totalmente de acuerdo con usted en que la importación estática de Math puede llevar a un código difícil de entender. – Pushkar

8

Todas las funciones de Java son parte de una clase. abs() es un miembro estático de la clase Math, así que llame

Math.abs(val); 

Está en java.lang, así que no hay necesidad de importar nada

14

Llámelo como

Math.abs(number)

o importación como:

import static java.lang.Math.abs;

4

O

import static java.lang.Math.*; 
4

En primer lugar, es java.lang.Math (el paquete que estaba mal y matemáticas se escribe con mayúscula), pero eso no es un problema ya que todas las clases en java.lang se importan automáticamente.

Como dice Brian, use Math.abs(). O bien, puede importar los métodos estáticamente:

import static java.lang.Math.*; 

Esto le permitirá utilizar sólo abs() (y todos los demás métodos estáticos de la clase Math) sin un prefijo con Math.

Cuestiones relacionadas