Aportes 12

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El hashmap seria util en un sistema ATM, para asociar a los numeros de cuenta con su respectivo balances.
Yo solucionaría el error devolviendo el nuevo balance en los métodos `deposit()` y `withdraw()`, y reasignando el valor de la variable `balance`: ```java import java.util.ArrayList; public class example { public static void main(String[] args) { double balance = 1000.0; ArrayList<String> transactionHistory = new ArrayList<>(); balance = deposit(500, balance, transactionHistory); balance = withdraw(100, balance, transactionHistory); System.out.println("Balance final: " + balance); for (String transaction : transactionHistory) { System.out.println(transaction); } } public static double deposit(double amount, double balance, ArrayList<String> transactionHistory) { balance += amount; transactionHistory.add("Deposited: $" + amount); return balance; } public static double withdraw(double amount, double balance, ArrayList<String> transactionHistory) { if (balance >= amount) { balance -= amount; transactionHistory.add("Withdrew: $" + amount); } else { System.out.println("Insufficient funds"); } return balance; } } ```
* **Paso por valor**: Se crea una copia local de la variable dentro de la función. * **Paso por referencia**: Se maneja directamente la variable, los cambios realizados dentro de la función le afectarán también fuera.
esta clase me acuerda Data Structures & Algorithms en la Universidad :)
Crear un HashMap, que vincule una transacción con un monto
Creo que el tema de LinkedList está de más, se aborda demásiado rápido, sin ejemplo, solo se menciona una de las caracteristicas, tal vez deberían quitarlo o complementarlo.
El uso de BigDecimal para manejar montos monetarios es una buena práctica? Por lo que sé float y double tienen problemas de redondeo.
Sí, se puede hacer un array de arrays en Java, conocido como "array multidimensional". Se declara utilizando corchetes adicionales. Por ejemplo: ```java int[][] matrix = new int[3][3]; // Un array de 3x3 ``` Esto es útil para representar estructuras como tablas o matrices.
Un HashMap sería útil en un sistema ATM para ubicar u ordenar de manera rápida los balances de cuenta por fecha, además del balance actual en tiempo real asociado al número de cuenta.
Para mi solución, agregue una función transaction ```java package org.example; import java.util.ArrayList; public class Main { public static double transaction(double amount, double balance, ArrayList<String> history, int type) { if (type == 1) { balance += amount; history.add("Deposito: $" + amount); } if (type == 0) { if (balance > amount) { balance -= amount; history.add("Retiro: $" + amount); } else { System.out.println("Fondos insuficientes!! :("); } } return balance; } public static void main(String[] args) { double balance = 1000.00; ArrayList<String> transactionsHistory = new ArrayList<>(); balance = transaction(250.34, balance, transactionsHistory, 1); balance = transaction(500.40, balance, transactionsHistory, 0); System.out.println("<---- Historial de transacciones ---->"); for (String tr: transactionsHistory) { System.out.println(tr); } System.out.println("<-------------------------------->"); System.out.println("Balance de cuenta: $" + balance); } } ```package org.example; import java.util.ArrayList; public class Main { public static double transaction(double amount, double balance, ArrayList\<String> history, int type) { if (type == 1) { balance += amount; history.add("Deposito: $" + amount); } if (type == 0) { if (balance > amount) { balance -= amount; history.add("Retiro: $" + amount); } else { System.*out*.println("Fondos insuficientes!! :("); } } return balance; } public static void main(String\[] args) { double balance = 1000.00; ArrayList\<String> transactionsHistory = new ArrayList<>(); balance = *transaction*(250.34, balance, transactionsHistory, 1); balance = *transaction*(500.40, balance, transactionsHistory, 0); System.*out*.println("<---- Historial de transacciones ---->"); for (String tr: transactionsHistory) { System.*out*.println(tr); } System.*out*.println("<-------------------------------->"); System.*out*.println("Balance de cuenta: $" + balance); } }
Un **HashMap** para cada transacción de esta forma se puede buscar rápidamente una transacción
import java.util.ArrayList; public class Main { public static void main(String\[] args) { double balance = 1000.0; ArrayList\<String> transactionHistory = new ArrayList<>(); balance = deposit(500, balance, transactionHistory); balance = withdraw(100, balance, transactionHistory); System.out.println("Balance final: " + balance); for (String transaction : transactionHistory) { System.out.println(transaction); } } public static double deposit(double amount, double balance, ArrayList\<String> transactionHistory) { balance += amount; transactionHistory.add("Deposited: $" + amount); return balance; } public static double withdraw(double amount, double balance, ArrayList\<String> transactionHistory) { if (balance >= amount) { balance -= amount; transactionHistory.add("Withdrew: $" + amount); } else { System.out.println("Insufficient funds"); } return balance; } }
undefined