I'm doing an exercise where I should do a program for a point of sale. The functionalities are to add merchandise (name, quantity, price), sell merchandise and list inventory. Each merchandise is added to a ArrayList
. The problem is that at the time of showing the elements of ArrayList
only shows me the first element. This is my code:
INVENTORY CLASS:
import java.util.ArrayList;
public class Inventario {
ArrayList<Mercancia> listaMercancias = new ArrayList<>();
public void agregarMercancia(Mercancia objMercancia){
listaMercancias.add(objMercancia);
}
public String listarInventario(){
for(Mercancia mercancias:listaMercancias){
return "Nombre: " + mercancias.nombre + "; " + "Cantidad restante: " + mercancias.cantidad;
}
return null;
}
public void venderMercancia(Mercancia objMercancia){
objMercancia.cantidad -= 1;
if (objMercancia.cantidad == 0) {
listaMercancias.remove(objMercancia);
}
}
MERCANCIA CLASS:
public class Mercancia {
String nombre;
int cantidad;
int precio;
public Mercancia(String nombre, int cantidad, int precio) {
this.nombre = nombre;
this.cantidad = cantidad;
this.precio = precio;
}
}
MAIN METHOD:
public static void main(String[] args) {
Mercancia objMercancia1 = new Mercancia("producto1",5,500);
Mercancia objMercancia2 = new Mercancia("producto2",6,200);
Mercancia objMercancia3 = new Mercancia("producto3",2,300);
Inventario objInventario = new Inventario();
objInventario.agregarMercancia(objMercancia1);
objInventario.agregarMercancia(objMercancia2);
objInventario.agregarMercancia(objMercancia3);
System.out.println(objInventario.listarInventario());
System.out.println(objInventario.listaMercancias.size());
}
When I run the size()
method, it tells me that there are 3 elements that are added.