Eclipse - Necesito ayuda con un ejercicio, por favor te agradecería que me ayudaras. Gracias

 
Vista:
sin imagen de perfil

Necesito ayuda con un ejercicio, por favor te agradecería que me ayudaras. Gracias

Publicado por Adrian (5 intervenciones) el 12/12/2021 19:01:49
Necesito ayuda para un ejercicio. A continuación adjunto el enunciado. Gracias.

.Un grupo de compañeros de trabajo quiere concretar una fecha para reunirse a
comer durante el próximo mes de diciembre. Como pueden ser muchos
compañeros y cada uno de ellos tiene comprometidas un buen número de fechas
de dicho mes, se pide desarrollar un programa JAVA que indique las posibles
fechas en las que celebrar la comida de confraternización.
Cada compañero de trabajo escribirá las fechas que tiene comprometidas como una
secuencia de enteros finalizada en número negativo. Habrá tantos comensales
como números negativos. Para determinar el final de la introducción de fechas
comprometidas, se introducirá el valor cero (marca de finalización). A partir de ese
momento, el programa deberá calcular las posibles fechas para la celebración de la
comida.

Dada la siguiente la entrada de datos
9 5 12 21 24
22 -1
2 9 18 19 25 29 30 31 -1
1 3 10 11 12 22 -1
27 15 16 17 5 -1
0


El resultado de la ejecución sería:
Número de asistentes: 4
Las posibles fechas para la celebración de la comida son:
4 6 7 8 13 14 20 23 26 28
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
Imágen de perfil de Kabuto
Val: 3
Ha mantenido su posición en Eclipse (en relación al último mes)
Gráfica de Eclipse

Necesito ayuda con un ejercicio, por favor te agradecería que me ayudaras. Gracias

Publicado por Kabuto (14 intervenciones) el 12/12/2021 23:37:16
Se puede comenzar con un ArrayList con las fechas del 1 al 31.

Luego se van pidiendo datos y si es una fecha, se elimina del ArrayList. Si es un negativo, se acumula en un contador de asistentes.

Esto se repite en un bucle hasta que se introduzca el valor 0. Entonces se muestra el contador de asistentes y las fechas que han quedado sin eliminar en el ArrayList.

Algo así:

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
import java.util.ArrayList;
import java.util.Scanner;
 
public class FechasCompromiso {
 
	public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
		ArrayList<Integer> fechasDisponibles = new ArrayList<Integer>();
		//Comenzamos con fechas disponibles del 1 al 31
		for (int i = 1; i <= 31; i++)
			fechasDisponibles.add(i);
 
		//Contador comensales
		int comensales = 0;
 
		Integer fechaComprom = 0;
 
		System.out.println("Introduzcan fechas comprometidas:");
		do {
			fechaComprom = teclado.nextInt();
			if (fechaComprom < 0) {//Negativo, es un número de comensales
				comensales -= fechaComprom;
			}
			else if (fechaComprom >= 1 && fechaComprom <= 31) {//Es una fecha valida
				fechasDisponibles.remove(fechaComprom); //Eliminamos esta fecha de la lista de disponibles
			}
 
		} while(fechaComprom != 0);
		teclado.close();
 
		System.out.println("Número de asistentes: " + comensales);
		//Comprobamos que fechas han quedado como disponibles
		System.out.println("Las posibles fechas para la celebración de la comida son:");
		for (Integer fecha: fechasDisponibles)
			System.out.print(fecha + " ");
	}
 
}
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