Leer números y comprobar si son positivos o negativos y pares o impares

Ejercicio básico resuelto con estructura repetitiva

Programa que lea números enteros por teclado y para cada número introducido indique si es positivo o negativo y si es par o impar. Se deben realizar tres versiones del programa:
1.    En la primera versión se utilizará un bucle while. La lectura de números finalizará cuando se introduzca un cero.
2.    En la segunda versión se utilizará un bucle do .. while. La lectura de números en esta versión también finaliza cuando se introduzca un cero.
3.    En la tercera versión también se utilizará un bucle do .. while pero en este caso la lectura de números finaliza cuando se responda ‘N’ ó ‘n’ a la pregunta “Desea introducir más números? (S/N):”
Ejercicio resuelto:
Solución 1: utilizando un bucle while y finalizando cuando se introduce un cero.
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int numero;

        System.out.print("Introduce un número (0 para acabar): ");
        numero = sc.nextInt();

        while (numero != 0) {

            if (numero > 0) {
                System.out.print("Positivo");
            } else {
                System.out.print("Negativo");
            }
            if(numero % 2 == 0){
                System.out.println(" Par");
            }else{
                System.out.println(" Impar");
            }

            System.out.print("Introduce un número (0 para acabar): ");
            numero = sc.nextInt();
        }
    } 
}

Solución 2: utilizando un bucle do .. while y finalizando cuando se introduce un cero.
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int numero;

        do {

            System.out.print("Introduce un número (0 para acabar): ");
            numero = sc.nextInt();

            if (numero != 0) {
                if (numero > 0) {
                    System.out.print("Positivo");
                } else {
                    System.out.print("Negativo");
                }
                if (numero % 2 == 0) {
                    System.out.println(" Par");
                } else {
                    System.out.println(" Impar");
                }
            }

        } while (numero != 0);
    } 
}

Solución 3: utilizando un bucle do .. while y finalizando cuando se responde ‘n’ ó ‘N’ a la pregunta  “Desea introducir más números? (S/N):”.
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int numero;
        char respuesta;

        do {

            System.out.print("Introduce un número: ");
            numero = sc.nextInt();

            if (numero != 0) {
                if (numero > 0) {
                    System.out.print("Positivo");
                } else {
                    System.out.print("Negativo");
                }
                if (numero % 2 == 0) {
                    System.out.println(" Par");
                } else {
                    System.out.println(" Impar");
                }
            }

            System.out.print("Desea introducir más números? (S/N): ");
            respuesta = (char) System.in.read();

        } while (respuesta != 'N' && respuesta != 'n');
    } 
}

No hay comentarios:

Publicar un comentario