Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

M4 Arreglos y Archivos D22 - Ejercicio #17

Merged
merged 5 commits into from
Jun 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion Vinceto/src/D15/ArrayListMethods.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,20 @@
import java.util.ArrayList;
import java.util.Collections;

/**
* La clase ArrayListMethods proporciona una aplicación que
* maneja una lista de notas y muestra la nota máxima y mínima.
*/
public class ArrayListMethods {

/**
* El método principal que ejecuta la aplicación.
* Inicializa una lista de notas y muestra la nota máxima y mínima.
*
* @param args Un arreglo de cadenas que representa los argumentos de línea de comandos.
*/
public static void main(String[] args) {
// Inicializa una lista de notas con valores predeterminados
ArrayList<Double> notas = new ArrayList<Double>();
notas.add(4.7);
notas.add(2.2);
Expand All @@ -13,13 +25,19 @@ public static void main(String[] args) {
notas.add(4.4);
notas.add(2.6);

// Muestra la nota máxima y mínima de la lista
mostrarNotaMaximaYMinima(notas);
}

/**
* Muestra la nota máxima y mínima de una lista de notas.
*
* @param notas Una lista de números decimales que representan las notas.
*/
public static void mostrarNotaMaximaYMinima(ArrayList<Double> notas) {
double maxNota = Collections.max(notas);
double minNota = Collections.min(notas);
System.out.println("Nota máxima: " + maxNota);
System.out.println("Nota mínima: " + minNota);
}
}
}
26 changes: 24 additions & 2 deletions Vinceto/src/D15/ArrayListOperations.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,46 @@

import java.util.ArrayList;

/**
* La clase ArrayListOperations proporciona una aplicación que
* agrega elementos a una lista de cadenas, verificando si el elemento
* ya existe antes de agregarlo.
*/
public class ArrayListOperations {

/**
* El método principal que ejecuta la aplicación.
* Inicializa una lista de elementos, intenta agregar nuevos elementos
* y muestra mensajes correspondientes.
*
* @param args Un arreglo de cadenas que representa los argumentos de línea de comandos.
*/
public static void main(String[] args) {
// Inicializa una lista de elementos con valores predeterminados
ArrayList<String> elementos = new ArrayList<String>();
elementos.add("mesa");
elementos.add("Refrigerador");
elementos.add("Cocina");
elementos.add("lavadora");

// Intenta agregar nuevos elementos a la lista
agregarElemento(elementos, "Silla");
agregarElemento(elementos, "Cocina"); // Este elemento ya existe
}

/**
* Agrega un elemento a la lista si no existe ya en la lista.
* Muestra un mensaje si el elemento ya existe o si se ha agregado exitosamente.
*
* @param lista Una lista de cadenas que representa los elementos.
* @param elemento El elemento a agregar a la lista.
*/
public static void agregarElemento(ArrayList<String> lista, String elemento) {
if (lista.contains(elemento)) {
System.out.println("Elemento "+elemento+" ya existe");
System.out.println("Elemento " + elemento + " ya existe");
} else {
lista.add(elemento);
System.out.println("Elemento agregado: " + elemento);
}
}
}
}
26 changes: 25 additions & 1 deletion Vinceto/src/D15/ArrayListSearch.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,50 @@

import java.util.ArrayList;

/**
* La clase ArrayListSearch proporciona una aplicación que
* busca y elimina elementos en una lista de nombres.
*/
public class ArrayListSearch {

/**
* El método principal que ejecuta la aplicación.
* Inicializa una lista de nombres, busca y elimina nombres específicos,
* y muestra mensajes correspondientes.
*
* @param args Un arreglo de cadenas que representa los argumentos de línea de comandos.
*/
public static void main(String[] args) {
// Inicializa una lista de nombres con valores predeterminados
ArrayList<String> nombres = new ArrayList<String>();
nombres.add("Pedro");
nombres.add("Juan");
nombres.add("Maria");
nombres.add("Ana");
nombres.add("Luis");

// Busca y elimina los nombres especificados
buscarYEliminar(nombres, "Maria");
buscarYEliminar(nombres, "Carlos");
}

/**
* Busca un nombre en la lista y lo elimina si está presente.
* Muestra un mensaje si el nombre se encuentra o no, y muestra la lista después de la eliminación.
*
* @param lista Una lista de cadenas que representa los nombres.
* @param nombre El nombre a buscar y eliminar en la lista.
*/
public static void buscarYEliminar(ArrayList<String> lista, String nombre) {
if (lista.contains(nombre)) {
System.out.println("Elemento encontrado: " + nombre);
lista.remove(nombre); // Elimina el nombre si se encuentra
} else {
System.out.println("Elemento no encontrado: " + nombre);
lista.removeIf(n -> n.equals(nombre));
System.out.println("Lista después de la eliminación: " + lista);
}
// Muestra la lista después de la eliminación
System.out.println("Lista después de la eliminación: " + lista);
}
}
}
29 changes: 28 additions & 1 deletion Vinceto/src/D15/ArraysIntro.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,48 @@
package D15;

/**
* La clase ArraysIntro proporciona una aplicación que calcula
* el promedio de los sueldos que son mayores a 500000.
*/
public class ArraysIntro {

/**
* El método principal que ejecuta la aplicación.
* Inicializa un arreglo de sueldos y calcula el promedio de
* aquellos sueldos que son mayores a 500000, luego muestra este valor.
*
* @param args Un arreglo de cadenas que representa los argumentos de línea de comandos.
*/
public static void main(String[] args) {
// Inicializa un arreglo de sueldos con valores predeterminados
int[] sueldos = {400000, 760000, 1100000, 650000, 654980, 987300, 700450, 442300};

// Calcula el promedio de los sueldos mayores a 500000
double promedio = calcularPromedioSueldos(sueldos);

// Muestra el promedio de los sueldos mayores a 500000
System.out.println("El promedio de los sueldos mayores a 500000 es: " + promedio);
}

/**
* Calcula el promedio de los sueldos que son mayores a 500000.
*
* @param sueldos Un arreglo de enteros que representa los sueldos.
* @return El promedio de los sueldos mayores a 500000 como un valor de tipo double.
*/
public static double calcularPromedioSueldos(int[] sueldos) {
int suma = 0;
int contador = 0;

// Suma y cuenta los sueldos que son mayores a 500000
for (int sueldo : sueldos) {
if (sueldo > 500000) {
suma += sueldo;
contador++;
}
}

// Retorna el promedio de los sueldos mayores a 500000. Si no hay sueldos mayores a 500000, retorna 0.
return contador == 0 ? 0 : (double) suma / contador;
}
}
}
35 changes: 33 additions & 2 deletions Vinceto/src/D15/MultiplosDeTres.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,53 @@
package D15;

/**
* La clase MultiplosDeTres proporciona una aplicación que
* calcula la suma de los números múltiplos de tres dados
* como argumentos de línea de comandos.
*/
public class MultiplosDeTres {

/**
* El método principal que ejecuta la aplicación.
* Convierte los argumentos de línea de comandos en un arreglo de enteros,
* calcula la suma de los números que son múltiplos de tres,
* y muestra este valor.
*
* @param args Un arreglo de cadenas que representa los argumentos de línea de comandos.
*/
public static void main(String[] args) {
// Inicializa un arreglo de enteros del mismo tamaño que los argumentos de línea de comandos
int[] numeros = new int[args.length];

// Convierte cada argumento de cadena en un entero y lo guarda en el arreglo numeros
for (int i = 0; i < args.length; i++) {
numeros[i] = Integer.parseInt(args[i]);
}

// Calcula la suma de los múltiplos de tres
int sumaMultiplos = suma(numeros);
System.out.println("sumaMultiplos : "+sumaMultiplos);

// Muestra la suma de los múltiplos de tres
System.out.println("Suma de múltiplos de tres: " + sumaMultiplos);
}

/**
* Calcula la suma de los números múltiplos de tres en un arreglo de enteros.
*
* @param numeros Un arreglo de enteros.
* @return La suma de los números múltiplos de tres.
*/
public static int suma(int[] numeros) {
int suma = 0;

// Suma los números que son múltiplos de tres
for (int numero : numeros) {
if (numero % 3 == 0) {
suma += numero;
}
}

// Retorna la suma de los múltiplos de tres
return suma;
}
}
}
49 changes: 47 additions & 2 deletions Vinceto/src/D15/MultiplosDeTresConPromedio.java
Original file line number Diff line number Diff line change
@@ -1,36 +1,81 @@
package D15;

/**
* La clase MultiplosDeTresConPromedio proporciona una aplicación que
* calcula la suma y el promedio de los números múltiplos de tres dados
* como argumentos de línea de comandos.
*/
public class MultiplosDeTresConPromedio {

/**
* El método principal que ejecuta la aplicación.
* Convierte los argumentos de línea de comandos en un arreglo de enteros,
* calcula la suma y el promedio de los números que son múltiplos de tres,
* y muestra estos valores.
*
* @param args Un arreglo de cadenas que representa los argumentos de línea de comandos.
*/
public static void main(String[] args) {
// Inicializa un arreglo de enteros del mismo tamaño que los argumentos de línea de comandos
int[] numeros = new int[args.length];

// Convierte cada argumento de cadena en un entero y lo guarda en el arreglo numeros
for (int i = 0; i < args.length; i++) {
numeros[i] = Integer.parseInt(args[i]);
}

// Calcula la suma de los múltiplos de tres
int sumaMultiplos = suma(numeros);

// Calcula el promedio de los múltiplos de tres
double promedioMultiplos = promedio(numeros);
System.out.println("sumaMultiplos : "+sumaMultiplos);
System.out.println("promedioMultiplos : "+promedioMultiplos);

// Muestra la suma de los múltiplos de tres
System.out.println("Suma de múltiplos de tres: " + sumaMultiplos);

// Muestra el promedio de los múltiplos de tres
System.out.println("Promedio de múltiplos de tres: " + promedioMultiplos);
}

/**
* Calcula la suma de los números múltiplos de tres en un arreglo de enteros.
*
* @param numeros Un arreglo de enteros.
* @return La suma de los números múltiplos de tres.
*/
public static int suma(int[] numeros) {
int suma = 0;

// Suma los números que son múltiplos de tres
for (int numero : numeros) {
if (numero % 3 == 0) {
suma += numero;
}
}

// Retorna la suma de los múltiplos de tres
return suma;
}

/**
* Calcula el promedio de los números múltiplos de tres en un arreglo de enteros.
*
* @param numeros Un arreglo de enteros.
* @return El promedio de los números múltiplos de tres como un valor de tipo double.
*/
public static double promedio(int[] numeros) {
int suma = 0;
int contador = 0;

// Suma y cuenta los números que son múltiplos de tres
for (int numero : numeros) {
if (numero % 3 == 0) {
suma += numero;
contador++;
}
}

// Retorna el promedio de los múltiplos de tres. Si no hay múltiplos de tres, retorna 0.
return contador == 0 ? 0 : (double) suma / contador;
}
}
Loading
Loading