Trouver le plus proche nombre de 0

Je suis en train de dépanner un programme en Java.

Exigences: la Nécessité de trouver la valeur la plus proche de zéro dans un Tableau. Dans le Tableau si les valeurs sont 1 et -1 le plus proche doit être à la valeur positive.

public class CloseToZero {    
    public static void main(String[] args) {    
        int[] data = {2,3,-2};    
        int curr = 0;    
        int near = data[0];     
        //find the element nearest to zero    
        for ( int i=0; i < data.length; i++ ){    
            curr = data[i] * data[i];     
            if ( curr <= (near * near) )  {     
                near = data[i]; 
            }     
        }    
        System.out.println( near );    
    }    
}
ce qui ne fonctionne pas?
ici, la sortie d'obtenir -2.Mais je suis à la recherche est supposons que 2 et -2 dans la matrice de cette situation positive de la valeur doivent être prioritaires
techniquement 1 et -1 les deux sont tout aussi proche de 0. par la différence de 1.
Dans ce cas, ajouter un autre if instruction pour vérifier si il est positif ou négatif.
La quadrature du nombre est mathématiquement élégant, mais il a considérablement restreint la gamme de nombres qui peut être accepté dans votre tableau. Je voudrais utiliser les Mathématiques.abs() à la place.

OriginalL'auteur user3172930 | 2014-05-20