Java - Ayuda con este enunciado por favor

 
Vista:

Ayuda con este enunciado por favor

Publicado por Juan Esteban (1 intervención) el 04/07/2019 07:43:31
Haga un algoritmo que solicite 10 números a un usuario, para esto deberá tener en cuenta lo siguiente :

-El sistema deberá validar que los números no sean negativos, de ser así deberá convertirlo a positivo
-El sistema permitirá almacenar los números en 2 arreglos de tamaño 5, uno para números pares y otro para números impares.
- Cada arreglo solo podrá almacenar hasta 5 números
- Si uno de los arreglos se llena, el sistema no podrá almacenar más números allí, sin embargo, permitirá el ingreso de los mismos.
- Si al terminar el ingreso de los 10 números uno de los arreglos no se ha llenado, deberá llenar sus posiciones con 0
- El sistema deberá imprimir un mensaje con el total de los números ingresados, los números que no se almacenaron y el contenido de cada arreglo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 186
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda con este enunciado por favor

Publicado por Carlos (70 intervenciones) el 04/07/2019 09:06:55
que es lo que no entiendes?

1- if (numero>=0) valida que no sea negativo, en caso contrario else{ numero=numero*(-1);} si es negativo lo pasas a positivo.
2-haces dos arreglos (ArrayPar, ArrayImpar), al pedir el numero verificas si es par o impar if (numero%2==0) es par lo almacenas en ArrayPar en caso contrario en el ArrayImpar.
3-ArrayPar[5]; si ya estas en su ultima posición, simplemente no guardas mas en ese array tendrás que usar una variable que vaya aumentando el numero de posición de cada Array, cuando esta sea igual a 4 ya no almacenas mas.
4-lo mismo que lo anterior sigues solicitando números sin almacenar.
5- si un array no tiene en el 5 números, termina de llenarlo con cero.
6- mostrar los resultados, números ingresados 10, números que no se almacenaron (deberás hacer una variable que cuente cada vez que no almacenas), imprimir los arreglos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 186
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda con este enunciado por favor

Publicado por Carlos (70 intervenciones) el 04/07/2019 09:22:49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package practica;
 
import java.util.Scanner;
 
public class main {
 
	public static void main(String[] args) {
 
		int numNoContados=0;
		int contPar=0;
		int contImpar=0;
		int ArrayPar[] = new int[5];
		int ArrayImpar[] = new int[5];
		Scanner leer = new Scanner(System.in);
		int numero = 0;
 
		//pedimos los 10 numeros
		for (int i=0; i<10; i++){
			System.out.println("Introduce un numero");
			numero = leer.nextInt();
			//Pasamos el numero a positivo en caso de ser negativo
			if (numero<0){
				numero=numero*(-1);
			}
			//Lo almacenamos en su array correspondiente
			if (numero%2==0){
				if (contPar<5){
					ArrayPar[contPar]=numero;
					contPar++;
				}else{//si ya se lleno el array cuento el numero como no contado y no lo registro en el array
					numNoContados++;
				}
			}else{
				if (contImpar<5){
					ArrayImpar[contImpar]=numero;
					contImpar++;
				}else{//si ya se lleno el array cuento el numero como no contado y no lo registro en el array
					numNoContados++;
				}
			}
		}
		//Si el array par no se ha llenado lo lleno con ceros
		while (contPar<5){
			ArrayPar[contPar]=0;
			contPar++;
		}
		//Si el array impar no se ha llenado lo lleno con ceros
		while (contImpar<5){
			ArrayImpar[contImpar]=0;
			contImpar++;
		}
		//Muestro resultados
		System.out.println("Ha introducido 10 numeros");
		System.out.println("No se han almacenado: "+numNoContados+" numeros");
		System.out.println("Los numeros pares son: ");
		for (int i=0; i<5; i++){
			System.out.println(" "+ArrayPar[i]);
		}
		System.out.println("Los numeros impares son: ");
		for (int i=0; i<5; i++){
			System.out.println(" "+ArrayImpar[i]);
		}
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[Solución] Ayuda con este enunciado por favor

Publicado por Billy Joel (876 intervenciones) el 05/07/2019 18:51:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Numeros {
 
    public static int leerInt(String mensaje) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print(mensaje);
        Integer i = null;
        try {
            i = Integer.parseInt(br.readLine());
            i = i < 0 ? (i * -1) : i;
        } catch (IOException | NumberFormatException ex) {
            System.out.println("Error de formato, intente de nuevo...");
        }
        if (i == null) {
            i = leerInt(mensaje);
        }
        return i;
    }
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        int[] numeros = new int[10];
        int[] pares = new int[5];
        int[] impares = new int[5];
        int contadorPares = 0;
        int contadorImpares = 0;
        String noAlmacenados = "";
        int total = 0;
 
        for (int i = 0; i < impares.length; i++) {
            pares[i] = 0;
            impares[i] = 0;
        }
 
        for (int i = 0; i < numeros.length; i++) {
            numeros[i] = leerInt((i + 1) + " >> Introduzca un número: ");
            total += numeros[i];
            if (numeros[i] % 2 == 0) {
                if (contadorPares < pares.length) {
                    pares[contadorPares] = numeros[i];
                    contadorPares++;
                } else {
                    noAlmacenados += numeros[i] + ", ";
                }
            } else {
                if (contadorImpares < impares.length) {
                    impares[contadorImpares] = numeros[i];
                    contadorImpares++;
                } else {
                    noAlmacenados += numeros[i] + ", ";
                }
            }
        }
 
        System.out.print("\n\nNumeros ingresados: ");
        for (int i = 0; i < numeros.length; i++) {
            System.out.print(numeros[i] + (i + 1 < numeros.length ? ", " : "\n"));
        }
        System.out.println("La suma total de los números ingresados: " + total);
 
        System.out.println("Numeros pares:");
        for (int i = 0; i < pares.length; i++) {
            System.out.println("pares["+i+"]: " + pares[i]);
        }
        System.out.println("\nNumeros impares:");
        for (int i = 0; i < impares.length; i++) {
            System.out.println("impares["+i+"]: " + impares[i]);
        }
        System.out.println("\nLos números que no se almacenaron: " + noAlmacenados.substring(0, noAlmacenados.length()-2));
    }
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar