Continuemos.
Vamos a crear la clase principal con el método Main.
Nuestra aplicación, entonces nos vamos al package.
Vamos a crear una nueva clase.
Ejemplo factura.
Bien, la creamos.
El problema es que la crea en el package modelo.
Por qué?
Ahí hicimos un clic.
Ahí la creamos.
Si la queremos en la raíz, por ejemplo, en el package app facturas quitamos acá.
Total, ese package ya existe.
Entonces se marca el error.
Perfecto.
Mover a ese package, se fijan.
Y ahora quedó en la raíz el modelo.
Tenemos todo el resto.
Cliente factura item producto que está perfecto, pero nuestra aplicación con el método main está en
la raíz en Ohr a Guzmán punto app facturas bien con el método Main comencemos.
Primero vamos a crear un cliente de ejemplo cliente
bien necesita primero importar.
Entonces control barra espacio.
Hacemos un clic y así se importa de modelo cliente punto.
Por ejemplo NIF.
Bueno, sin complicarnos cualquiera.
Por ejemplo eso y el set set nombre.
Andrés Listo.
Nuestro cliente vamos a crear una factura
igual, new factura bien.
Pero la factura la tenemos que importar también del mismo.
Para Cachón tendremos cliente factura.
Pero la factura recibe la descripción y el cliente que entra tenemos la descripción?
No, pero bien prata.
Ejemplo todos los datos de la factura lo vamos a ingresar de forma dinámica con el teclado.
Es decir, vamos a utilizar la clase Scanner.
Entonces por acá scanner importamos de lleva útil s de scanner igual new escáner
listo Oita.
Entonces por ahora shout ingrese la descripción de la factura
dos puntos espacio.
Bien.
Y la leemos desc.
Descripción.
Igual.
Ese punto.
Next line.
Así la obtenemos.
Listo.
Tenemos el cliente y la descripción.
Entonces acá en el constructor pasamos desc.
Koma cliente.
Listo.
Ahí tenemos la factura.
Bien, ahora tenemos que iterar, por ejemplo, usando un Ford 5S para pedir 5 productos, 5 líneas
o detalle y poder ingresar.
Pero primero vamos a definir acá producto, producto.
Simplemente lo voy a definir.
Vamos a importar como siempre enter y por cada producto va a tener bueno, un nombre, va a tener un
precio del tipo float y la cantidad de producto que se va a comprar cantidá de la línea.
Bien.
Y damos un salto línea, un tema visual y el Ford.
Entonces, hasta cinco para registrar cinco productos incrementamos el contador, da lo mismo, puede
ser cinco, tres, dos lo producto que queramos registrar bien, entonces por cada iteración vamos a
tener un producto igual new producto, vamos a pedir en nombre Shout, ingrese producto número, por
ejemplo, y acá podemos concatenar con el código.
Recuerden que se auto genera el código en el constructor.
Cuando creamos una instancia, entonces ya tenemos el Heidy o código el producto.
Entonces producto punto Wyeth código.
Más un espacio, punto y un espacio.
Entonces ahora viene el nombre nombre, producto, igual.
Ese punto bien, vamos a utilizar next solamente next para capturar el producto en nombre producto.
Bueno.
Next solamente nos permite registrar mediante teclado un nombre, pero sin espacios, sin espacio en
blanco.
Es decir, que está compuesto por una palabra.
Por ejemplo, mesa, silla, teclado, se fijan, pero no un producto que esté compuesto.
Por ejemplo, si quiero registrar televisión color azul, no porque tiene espacio.
Para eso utilizamos next line, pero bien de polo.
Vamos a modificar para utilizar después en Next Line, porque hay un detalle que hay que revisar.
Por ahora lo dejamos con Next.
Bien, entonces ahora pro-ducto, punto, set, nombre y le pasamos el nombre.
Listo.
Ahí tenemos el nombre producto, los siguientes el precio.
Entonces ingresa el precio.
Lo mismo precio, igual ese punto llega, tenemos el next floto, recuerden que el precio del tipo floto.
Entonces mismo tipo.
Ahora producto set precio.
Cantida.
2 Punto un espacio.
Acá del tipo int.
Next.
Int.
Depto.
Ya, pero recuerden que la cantidad es de la línea, no de producto.
Pero antes continuar.
En vez de usar print line ln solamente print para que lo muestre.
Continuación del texto se fijan dos punto y acá lo escribimos.
Lo mismo el precio.
Vamos a quitar el LN.
Lo mismo la cantidad.
Bien, entonces que tenemos casi todo.
Ítem factura, igual ítem.
Acá tenemos solamente un ítem igual new item factura.
Perfecto.
Hay importar.
Entonces hacemos un clic acá.
Se importa y nos pide la cantidad que la tenemos acá y el producto que lo tenemos acá.
Y el producto ya tiene todos los datos en nombre.
El precio se fijan.
Molesto cantidad koma producto que faltaría la relación.
Ahora tenemos que asignar este ítem a la factura porque la factura tiene descripción cliente.
Bueno, y los datos.
Pero hay que agregar en cada iteración del for la línea.
Entonces por acá bajamos factura.
Punto azul.
Ítem factura.
Y agregamos ítem.
Se fija.
Listo.
Ahí lo tenemos.
Bueno, shout un salto línea.
Y está molesto, claro, porque por cada iteración hacemos un salto.
Y después, al final, después del for.
Cuando hayamos registrado todo lo productos mostramos el detalle.
Entonces shout factura.
Punto.
Generar, detalla.
Ahí está.
Entonces lo vamos a probar.
Vamos a levantar.
Con el Rahn ingresa una descripción de la factura.
Perfecto.
Compra de equipos.
Bien.
Enter.
Ingresa un producto.
Mesa precio.
Por ejemplo.
100.
Cantidad una.
Otro producto.
Silla va a costar 30.
Cantidad.
4.
Entonces una mesa con 4.
Silla.
Perfecto.
Ingresa un producto.
El tercer producto.
Teclado precio 15.
3 para 3.
Persona ratón o mouse.
También precio 12.
Por ejemplo.
Y 3.
Y por último lámpara.
Cualquier cosa buena.
Precio 50.
Cantidad.
Vamos a comprar 2.
Yo acudiría a mostrar el detalle gran total.
Bueno, todo producto a fecha emisión tiene que ir después.
Antes de la columnas se fijan.
Acá pusimos las columnas nombre, nombre, cantidad, la cantidad, el precio acá y total a el feto.
Solamente hay que mover la fecha acá y acá, talet allá.
Factura número 1.
Cliente Andrés NIF tanto descripción compras bueno puse comparás pero bueno de equipos de oficina,
así que está perfecto.
Entonces tenemos que modificar en factura.
Por acá esto lo voy a bajar bien, un cambio nomás de orden, esto acá lo voy a cortar.
Lo dejamos así bien y por acá.
Por acá bajamos y pegamos.
Eso, eso sería el orden.
Lo dejamos después de la fecha.
Probemos.
Equipos de oficina, incluso equipos de oficina.
También lo podríamos dejar hacia el lado acá con print en vez de print line.
Se dejan.
Pero bueno.
Continuamos acá.
Enter.
Ingrese producto 1 mesa precio lo mismo 50 una silla, 30 3 ratón 15 3, teclado 20 3 y una lámpara
2, por ejemplo, veamos perfecto fecha emisión 3 Agoto 20/20 llega hasta la tabla con el Heidy nombre
precio.
La cantidad y el total fijan.
Tenemos el detalle, la factura bien simple.
Ahora qué pasa?
Por ejemplo bueno, acá tenemos next.
Se fijan?
Next.
Bueno, probemos.
Voy a levantar.
Compra de equipos ingresa un producto mesa trabajo, se fijan compuesta por dos palabras separado con
un espacio.
Pero acá me lanzo un error, ya que ingresamos un espacio en blanco y el next solamente obtiene el primer
parámetro que estaba egresando.
En este caso mesa, pero nada más y trabajo como está separado con un espacio en blanco sería un segundo
parámetro y este siguiente parámetro o segundo se lo trata de asignar a precio y como trabajo es un
string y no un entero o decimal un float.
Bueno, lanza el error por eso, ya que un string no es compatible con un decimal.
Por lo tanto no sería compatible.
Ahora, si queremos ingresar nombre de producto compuesto por más de una palabra y con espacios simplemente
Lyne, pero acá vamos a tener otro problema.
Y cómo se soluciona simplemente al final de cada iteración?
Acá después del print line hacemos otro next line.
Lo voy a copiar y lo dejamos acá.
Punto y coma nada más.
No se asigna a ningún valor.
Solamente movemos el cursor del escáner a la siguiente línea.
Por qué inicia una nueva iteración?
Entonces tenemos que mover el cursor.
Si no, vamos a tener un problema.
Pero bueno, ejecutemos.
Levantemos.
Para que todo esté bien, el equipo de oficina
se fijan.
Ahora lo coloca al lado.
Está bien.
Ingrese producto mesa.
Trabajo perfecto.
El precio 120.
Cantidad 1.
Silla por poner cada cosa negro o negra.
Da lo mismo.
Precio 80 3.
Otro producto.
Notebook.
Por ejemplo.
áSus.
€800 3 lÃmpara 2 proyector Samsung precio 500 1.
Se dejan nombre, mesa, trabajo, silla negro con la cantidad.
Bueno, está un poco más ordenado porque los nombres son más largos.
Algo visual Notebook Asus, pero está todo registrado.
Perfecto.
La cantidad del precio y calcula el gran total.
Ahora lo ideal.
Nombre corto solamente para que quepa bien en la tablita de que solamente está muy fabulando con uno
solo.
Pero está bien.
Por ahora quedamos hasta acá y continuamos la siguiente clase, optimizando un poco más nuestro código
para que quede aún mejor.
Nos vemos.