Crea un programa en Java que almacene una lista de nombres (cadenas de texto) en un TreeSet. Luego, muestra los nombres en orden alfabético.
package treeset;
import java.util.TreeSet;
public class Ejercicio1 {
public static void main(String[] args) {
// Crea un TreeSet para almacenar nombres
TreeSet<String> listaNombres = new TreeSet<String>();
// Añade nombres al TreeSet (los duplicados no se almacenarán)
listaNombres.add("Carlos");
listaNombres.add("Teo");
listaNombres.add("Enma");
listaNombres.add("Bea");
listaNombres.add("Maria");
listaNombres.add("Tonin");
listaNombres.add("Noe");
listaNombres.add("Rita");
listaNombres.add("Tocana");
// Muestra los nombres en orden alfabético
// No es necesario hacer un sorted() ya que TreeSet ya mantiene el orden
System.out.println(listaNombres);
}
}
Crea un programa en Java que almacene una lista de números enteros en un TreeSet. Luego, permite al usuario ingresar un número y verifica si este número está presente en el conjunto. Muestra un mensaje indicando si el número está o no en la lista. Además, muestra todos los números en orden ascendente.
package treeset;
import java.util.Scanner;
import java.util.TreeSet;
public class Ejercicio2 {
public static void main(String[] args) {
// Crear un TreeSet para almacenar números enteros
TreeSet<Integer> listaNumeros = new TreeSet<Integer>();
int numero = -1; // Variable para almacenar el número ingresado
Scanner entrada = new Scanner(System.in);
// Bucle para introducir números en el TreeSet
do {
try {
System.out.println("Introduce un numero, 0 para salir"); // Solicitar un número al usuario
numero = Integer.parseInt(entrada.nextLine()); // Leer el número ingresado
if (numero != 0) { // Si el número no es 0, agregarlo al TreeSet
listaNumeros.add(numero);
}
} catch (NumberFormatException e) { // Manejo de excepción si la entrada no es válida
System.out.println("Formato no valido, introducelo de nuevo");
}
} while (numero != 0); // Continuar hasta que el usuario ingrese 0
// Verificar si la lista está vacía
if (listaNumeros.isEmpty()) {
System.out.println("La lista esta vacia");
} else {
// Bucle para permitir al usuario ingresar un número a verificar
while (true) {
try {
System.out.println("Introduce un numero"); // Solicitar un número al usuario
numero = Integer.parseInt(entrada.nextLine()); // Leer el número a verificar
break; // Salir del bucle si la entrada es válida
} catch (NumberFormatException e) { // Manejo de excepción si la entrada no es válida
System.out.println("Formato no valido, introducelo de nuevo");
}
}
// Verificar si el número ingresado está en la lista
if (listaNumeros.contains(numero)) {
System.out.println("El numero esta en la lista");
} else {
System.out.println("El número no está en la lista"); // Corrección tipográfica
}
// Mostrar todos los números en orden ascendente
System.out.println("Números en la lista (orden ascendente): " + listaNumeros);
}
entrada.close(); // Cerrar el Scanner
}
}
Crea un programa en Java que almacene una lista de palabras (cadenas de texto) en un TreeSet. Luego, permite al usuario ingresar una palabra y verifica si esta palabra está presente en el conjunto. Si la palabra está, muestra un mensaje indicando que está en la lista; de lo contrario, indica que no está. Finalmente, muestra todas las palabras en orden alfabético
package treeset;
import java.util.Scanner;
import java.util.TreeSet;
public class Ejercicio3 {
public static void main(String[] args) {
// Crear un TreeSet para almacenar palabras (nombres)
TreeSet<String> listaNombre = new TreeSet<String>();
String nombre = ""; // Variable para almacenar el nombre ingresado
Scanner entrada = new Scanner(System.in);
// Bucle para introducir nombres en el TreeSet
do {
System.out.println("Introduce un nombre, intro para salir"); // Solicitar un nombre al usuario
nombre = entrada.nextLine(); // Leer el nombre ingresado
if (!nombre.equals("")) { // Si el nombre no está vacío, agregarlo al TreeSet
listaNombre.add(nombre);
}
} while (!nombre.equals("")); // Continuar hasta que el usuario ingrese una línea vacía
// Verificar si la lista está vacía
if (listaNombre.isEmpty()) {
System.out.println("La lista está vacía");
} else {
// Bucle para permitir al usuario ingresar un nombre a verificar
while (true) {
System.out.println("Introduce un nombre para verificar"); // Solicitar un nombre al usuario
nombre = entrada.nextLine(); // Leer el nombre a verificar
if (nombre.equals("")) {
System.out.println("El nombre no puede quedar en blanco, introdúcelo de nuevo");
} else {
break; // Salir del bucle si se ingresó un nombre válido
}
}
// Verificar si el nombre ingresado está en la lista
if (listaNombre.contains(nombre)) {
System.out.println("El nombre está en la lista");
} else {
System.out.println("El nombre no está en la lista");
}
// Mostrar todos los nombres en orden alfabético
System.out.println("Nombres en la lista (orden ascendente): " + listaNombre);
}
entrada.close(); // Cerrar el Scanner
}
}
Crea un programa en Java que almacene una lista de temperaturas (números enteros) en un TreeSet. El programa debe: - Permitir agregar varias temperaturas. - Mostrar la temperatura más alta y la más baja registrada. - Mostrar la diferencia entre la temperatura máxima y la mínima. - Si el conjunto está vacío, muestra un mensaje que indique que no hay datos de temperatura.
package treeset;
import java.util.Scanner;
import java.util.TreeSet;
public class Ejercicio4 {
public static void main(String[] args) {
// Crea una instancia del menú y muestra las opciones al usuario
MenuEjercicio4 menu = new MenuEjercicio4();
menu.mostrarMenu();
}
}
class MenuEjercicio4 {
Scanner entrada = new Scanner(System.in); // Escáner para recibir entradas del usuario
int menu = 0; // Opción del menú seleccionada por el usuario
TreeSet<Integer> temperaturas = new TreeSet<Integer>(); // TreeSet para almacenar las temperaturas en orden ascendente
// Método para mostrar y gestionar el menú de opciones
public void mostrarMenu() {
do {
System.out.println("Menu temperaturas");
System.out.println("1. Agregar temperatura");
System.out.println("2. Mostrar temperatura más alta");
System.out.println("3. Mostrar temperatura más baja");
System.out.println("4. Mostrar la diferencia entre la temperatura más alta y más baja");
System.out.println("5. Salir");
System.out.println("Escoger opción:");
try {
// Leer la opción del menú y gestionarla
menu = Integer.parseInt(entrada.nextLine());
gestionarMenu(menu);
} catch(NumberFormatException e) {
System.err.println("Formato no válido, introdúcelo de nuevo");
}
} while(menu != 5); // Repetir mientras el usuario no elija salir
}
// Método para agregar una nueva temperatura al TreeSet
private void agregarTemperatura() {
int temperatura = 0;
while(true) {
try {
System.out.println("Introduce una temperatura");
temperatura = Integer.parseInt(entrada.nextLine());
// Si la temperatura ya existe, informa al usuario; si no, agrégala
if(!temperaturas.add(temperatura)) {
System.out.println("La temperatura ya estaba agregada");
} else {
System.out.println("Temperatura agregada correctamente");
}
break; // Salir del bucle si la entrada fue válida
} catch(NumberFormatException e) {
System.err.println("Formato de temperatura no válido, introdúcelo de nuevo");
}
}
}
// Método para mostrar la temperatura máxima registrada
private void temperaturaMax() {
if(temperaturas.isEmpty()) { // Verifica si el conjunto está vacío
System.out.println("No hay temperaturas dadas de alta");
} else {
System.out.println("La temperatura más alta es: " + temperaturas.last() + "ºC");
}
}
// Método para mostrar la temperatura mínima registrada
private void temperaturaMin() {
if(temperaturas.isEmpty()) { // Verifica si el conjunto está vacío
System.out.println("No hay temperaturas dadas de alta");
} else {
System.out.println("La temperatura más baja es: " + temperaturas.first() + "ºC");
}
}
// Método para mostrar la diferencia entre la temperatura máxima y mínima
private void diferenciaTemperaturas() {
if(temperaturas.isEmpty()) { // Verifica si el conjunto está vacío
System.out.println("No hay temperaturas dadas de alta");
} else {
System.out.println("La diferencia entre la temperatura más alta y más baja es: "
+ (temperaturas.last() - temperaturas.first()) + "ºC");
}
}
// Método para gestionar las opciones del menú principal
private void gestionarMenu(int menu) {
switch(menu) {
case 1 -> agregarTemperatura();
case 2 -> temperaturaMax();
case 3 -> temperaturaMin();
case 4 -> diferenciaTemperaturas();
case 5 -> {
// Opción para salir del programa, cierra el scanner
System.out.println("Saliendo del programa ...");
entrada.close();
break;
}
default -> System.out.println("Opción no contemplada, introdúcela de nuevo");
}
}
}
Crea un programa en Java que gestione una lista de eventos (representados como cadenas de texto) utilizando un TreeSet. El programa debe: Permitir agregar nuevos eventos a la lista. Evitar duplicados: si el usuario intenta agregar un evento que ya existe, debe mostrar un mensaje indicando que el evento ya está registrado. Permitir al usuario consultar la cantidad total de eventos registrados. Mostrar todos los eventos en orden alfabético. Permitir eliminar un evento específico de la lista si ya no es necesario. Si no hay eventos registrados, mostrar un mensaje de advertencia en las opciones de consulta y eliminación.
package treeset;
import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;
public class Ejercicio5 {
public static void main(String[] args) {
// Crear instancia de la clase de menú y mostrar el menú principal
MenuEjercicio5 menu = new MenuEjercicio5();
menu.mostrarMenu();
}
}
class MenuEjercicio5 {
// TreeSet para almacenar eventos sin duplicados y en orden alfabético
TreeSet<String> eventos = new TreeSet<String>();
Scanner entrada = new Scanner(System.in);
int menu = 0;
public void mostrarMenu() {
// Bucle para mostrar el menú y gestionar opciones
do {
System.out.println("Menu eventos");
System.out.println("1.Agregar eventos");
System.out.println("2.Mostrar total eventos");
System.out.println("3.Lista eventos ordenados");
System.out.println("4.Eliminar evento");
System.out.println("5.Salir");
System.out.println("Escoge opcion:");
try {
// Leer y procesar la opción elegida
menu = Integer.parseInt(entrada.nextLine());
gestionarMenu(menu);
} catch (NumberFormatException e) {
System.err.println("Formato de menu no valido, introducelo de nuevo");
}
} while (menu != 5); // Opciones hasta que elija salir
}
private String nombreEvento(String evento) {
// Solicitar y validar el nombre del evento
while (true) {
System.out.println("Introduce el nombre del evento:");
evento = entrada.nextLine();
if (evento.equals("")) {
System.out.println("El nombre del evento no puede quedar vacio");
} else {
return evento;
}
}
}
private void agregarEvento() {
// Añadir un nuevo evento, validando duplicados
String evento = "";
while (true) {
evento = nombreEvento(evento);
if (!eventos.add(evento)) { // Verificar duplicado
System.out.println("El evento ya estaba dado de alta, introduce otro nombre de evento");
} else {
System.out.println("Evento agregado correctamente a la lista de eventos");
break;
}
}
}
private void totalEventos() {
// Mostrar el total de eventos registrados
System.out.println("El total de eventos de la lista es: " + eventos.size());
}
private void listaOrdenada() {
// Mostrar la lista de eventos en orden alfabético
if (eventos.isEmpty()) {
System.out.println("La lista de eventos aun esta vacia");
} else {
int index = 0;
for (String evento : eventos) {
index++;
System.out.println(index + "." + evento);
}
}
}
private void borrarEvento() {
// Eliminar un evento específico
if (eventos.isEmpty()) {
System.out.println("La lista de eventos aun esta vacia");
} else {
String evento = "";
evento = nombreEvento(evento);
Iterator<String> it = eventos.iterator();
boolean encontrado = false;
while (it.hasNext()) {
String even = it.next();
if (even.equalsIgnoreCase(evento)) {
char respuesta = ' ';
while (true) {
// Confirmar la eliminación del evento
System.out.println("¿Estas seguro de eliminar el evento " + evento + "?(s)(n)");
respuesta = entrada.nextLine().toLowerCase().charAt(0);
if (respuesta != 's' && respuesta != 'n') {
System.out.println("La respuesta tiene que ser (s) o (n), introducela denuevo");
} else {
break;
}
}
if (respuesta == 's') {
it.remove(); // Eliminar el evento
System.out.println("Evento " + evento + " eliminado correctamente");
} else {
System.out.println("Operacion de borrado abortada");
}
encontrado = true;
}
}
// Notificar si el evento no se encuentra
if (!encontrado) {
System.out.println("El evento no se encontraba en la lista");
}
}
}
private void gestionarMenu(int menu) {
// Gestionar las opciones del menú
switch(menu) {
case 1 -> agregarEvento();
case 2 -> totalEventos();
case 3 -> listaOrdenada();
case 4 -> borrarEvento();
case 5 -> {
System.out.println("Saliendo del programa ...");
entrada.close(); // Cerrar Scanner al salir
break;
}
default -> System.out.println("Opcion no contemplada, introducela de nuevo");
}
}
}