diff --git a/.vscode/launch.json b/.vscode/launch.json index 38a1e77..18c8772 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,5 +1,12 @@ { "configurations": [ + { + "type": "java", + "name": "App", + "request": "launch", + "mainClass": "com.utp.clsHerramientas.pry1.App", + "projectName": "my-app" + }, { "type": "java", "name": "RepNumericas", diff --git a/src/main/java/com/utp/clsHerramientas/_metadata.toml b/src/main/java/com/utp/clsHerramientas/_metadata.toml new file mode 100644 index 0000000..4b214c7 --- /dev/null +++ b/src/main/java/com/utp/clsHerramientas/_metadata.toml @@ -0,0 +1,4 @@ +[[proyectos]] +folder = "pry1" +name = "TEMA 2 – ACTIVIDAD 3" +submit_date = "04/14" \ No newline at end of file diff --git a/src/main/java/com/utp/clsHerramientas/pry1/App.java b/src/main/java/com/utp/clsHerramientas/pry1/App.java new file mode 100644 index 0000000..88a1801 --- /dev/null +++ b/src/main/java/com/utp/clsHerramientas/pry1/App.java @@ -0,0 +1,61 @@ +package com.utp.clsHerramientas.pry1; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Optional; + +// · Opción 1: Método llamado mtdListaNumeros, que determina la media de una lista indefinida de números positivos, terminados con un número negativo. La entrada y salidas deben realizarse dentro del método principal. +public class App { + public static void main(String[] args) { + ListaDeNumeros lista = new ListaDeNumeros(); + Methods methods = new Methods(); + System.out.println("La media de los números ingresados es: " + methods.mtdListaNumeros(lista)); + methods.mtdFactorial(1); + methods.mtdFactorial(2); + methods.mtdFactorial(3); + methods.mtdFactorial(4); + methods.mtdFactorial(5); + methods.mtdFactorial(6); + } +} + +class ListaDeNumeros { + ArrayList Lista = new ArrayList<>(); + + ArrayList getLista() { + return Lista; + } + + Optional push_str(String input) { + Optional num = Optional.ofNullable(Integer.parseInt(input)); + if (num.isPresent()) { + Lista.add(num.get()); + } + return num; + } +} + +class Methods { + public Optional mtdListaNumeros(ListaDeNumeros lista) { + if (lista.getLista().isEmpty()) { + return Optional.empty(); + } + double sum = 0; + for (int item : lista.getLista()) { + sum += item; + } + return Optional.of(sum / lista.getLista().size()); + } + + // · Opción 2: Método llamado mtdFactorial que contenga el cálculo del factorial + // de un número leído en el método principal. La impresión del resultado se + // realiza en el método mtdFactorial. + public void mtdFactorial(int num) { + BigDecimal factorial = new BigDecimal(1); + for (int i = 1; i <= num; i++) { + factorial = factorial.multiply(new BigDecimal(i)); + } + System.out.println("El factorial de " + num + " es: " + factorial); + } + +} \ No newline at end of file