Programa Java para verificar si un entero dado es positivo o negativo

Aquí, la tarea es verificar si el número entero dado es positivo o negativo. A continuación se presentan algunas propiedades básicas de un número.

  • Si el número entero es mayor que cero, entonces es un número entero positivo.
  • Si el número es menor que cero, entonces es un entero negativo.
  • Si el número es igual a cero, entonces no es ni negativo ni positivo.
Input: X = 12
Output: Positive
Explanation: Value of X is greater than 0 so it is Positive.

Input: x = -5
Output: Negative
Explanation: Value of X less than 0 so it is negative.

Enfoque 1: al usar el operador relacional, podemos verificar si un número entero es positivo o negativo.

  • Si número>0 entonces el número es positivo.
  • Si el número <0, entonces el número es negativo.
  • Si un número no es ni positivo ni negativo, el número es igual a 0.

A continuación se muestra la implementación de Java del enfoque anterior:

Java

// Java Program to Check if a Given Integer
// is Positive or Negative
 
import java.io.*;
 
class GFG {
 
    // Function to check positive and negative
    static String checkPosNeg(int x)
    {
 
        // checks the number is greater than 0 or not
        if (x > 0)
            return "Positive";
 
        else if (x < 0)
            return "Negative";
 
        else
            return "zero";
    }
 
    // Driver Function
    public static void main(String[] args)
    {
        // number to be check
        int firstNumber = 912;
        System.out.println(firstNumber + " is "
                           + checkPosNeg(firstNumber));
    }
}
Producción

912 is Positive

Enfoque 2: Usar el método Integer.signum()

La clase Java Integer proporciona una función incorporada signum() para verificar si un número es positivo o negativo. Es un método estático que acepta un parámetro de tipo entero.

  • Devuelve 0, si el argumento es 0.
  • Devuelve 1, si el argumento >0.
  • Devuelve -1, si el argumento <0.

Sintaxis: 

public static int signum(int i)

A continuación se muestra la implementación de Java del método anterior.

Java

// Java Program to Check if a Given
// Integer is Positive or Negative
 
import java.io.*;
 
class GFG {
 
    // Function to check number is positive or negative
    static int checkPosNeg(int x)
    {
        // inbuilt signum function
        int ans = Integer.signum(x);
        return ans;
    }
 
    // Driver function
    public static void main(String[] args)
    {
        int secondNumber = -125;
        int result = checkPosNeg(secondNumber);
 
        if (result == 0)
            System.out.print(secondNumber + " is Zero");
        else if (result == 1)
            System.out.print(secondNumber + " is Positive");
        else
            System.out.print(secondNumber + " is Negative");
    }
}
Producción

-125 is Negative

Enfoque 3: Uso del operador Bit Shift

En Java, los números enteros se almacenan en complemento a 2. Sabemos que el bit más alto de cualquier número negativo es 1 y el bit más alto de cualquier otro número es 0.

El operador de cambio de bit (Val>>31) copia el bit más alto a cada otro bit. Por lo tanto, el número negativo se convierte en 11111111 11111111 11111111 11111111, y los números positivos o cero se convierten en 00000000 00000000 00000000 00000000. 

Después de esto, podemos usar el operador & para verificar si un número es positivo o negativo. 

  • Si ((Val>>31) & 1) es 1, entonces el número será negativo.
  • Si ((Val>>31) & 1) es 0, entonces el número será positivo.

Nota: Considera el 0 como un número positivo.

A continuación se muestra la implementación de Java del enfoque anterior:

Java

// Java Program to Check if a Given
// Integer is Positive or Negative
 
import java.io.*;
 
class GFG {
    // function to check positive and negative integer
 
    static String checkPosNeg(int val)
    {
 
        String[] result = { "Positive", "Negative" };
 
        // checks if the number is positive or negative
        return result[(val >> 31) & 1];
    }
    public static void main(String[] args)
    {
        int num;
        num = -15;
 
        System.out.println(num + " is " + checkPosNeg(num));
    }
}
Producción

-15 is Negative

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *