El error Exception in thread "main" java.lang.NullPointerException lo localiza en la linea 21. ¿Alguna idea?
class Factura{
private static final int MAX_ITEMS = 100;
private String fecha;
private String nombreCliente;
private Item[] items = new Item[factura.MAX_ITEMS];
private int cantItems;
public Factura(String fecha, String nombreCliente){
this.fecha = fecha;
this.nombreCliente = nombreCliente;
items = new Item[Factura.MAX_ITEMS];
cantItems = 0;
}
public void agregarItem(String nombreProducto, long precioUnitario, int cantidad){
for (int i = 0; i < items.length; i++) {
if((items[i].getNombreProducto()) == (nombreProducto) && (items[i].getPrecioUnitario()) == (precioUnitario)){
items[i].setCantidad((items[i].getCantidad())+ 1);
}
else{
items[cantItems] = new Item(nombreProducto, precioUnitario, cantidad);
cantItems++;
}
}
}
public long calcularTotal(){
long total = 0;
for (int i = 0; i < items.length; i++){
total = ((items[i].getPrecioUnitario())*(items[i].getCantidad()));
}
return total;
}
public void imprimir(){
System.out.println("Supermercado El Dorado");
System.out.println("Fecha: " + fecha);
System.out.println("Cliente: " + nombreCliente);
System.out.println("\t" + "Producto" + "\t" + "Precio" + "\t" + "Cantidad");
for(int i = 0; i < items.length; i++){
System.out.println(getItems()[i].getCantidad() + "\t" + getItems()[i].getNombreProducto() + "\t" + getItems()[i].getPrecioUnitario());
}
System.out.println("Total: $" + calcularTotal());
System.out.println("Gracias por preferirnos.");
}
public Item[] getItems(){
return items;
}
}