Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Product {
- final double price;
- final String name;
- final int amountForDiscount;
- final double discount;
- Product(price, name) {
- this.price = price;
- this.name = name;
- //Si no le metes cantidad para descuento, que tome como que todos tienen descuento de 1 (precio * 1 = precio)
- this.amountForDiscount = 1;
- //Si no le metes descuento, entonces que multiplique por 1 el precio, es decir, que no haga nada
- this.discount = 1;
- }
- Product(price, name, amountForDiscount, discount) {
- this.price = price;
- this.name = name;
- //Si no le metes cantidad para descuento, entonces que multiplique por 1 el precio, es decir, que no haga nada
- this.amountForDiscount = amountForDiscount;
- //Si no le metes descuento, entonces que multiplique por 1 el precio, es decir, que no haga nada
- this.discount = discount;
- }
- double getTotalPrice(amount) {
- double total;
- //comprobamos si ha comprado unidades suficientes para el descuento
- if (amount >= amountForDiscount) {
- //Si por ejemplo el descuento es 75% (0.75) por cada 3 y tu has comprado 5
- // el precio serΓ‘ (5/3 es decir 1, por el precio y por el descuento) y lo que sobre (5%3 es decir 2, por el precio normal) )
- total = ((amount / amountForDiscount) * price * discount) + (amount%amountForDiscount) * price;
- } else {
- total = amount * price;
- }
- return total;
- }
- String getBillLine(amount) {
- return this.name + '.....' + amount + ' items .........' + getTotalPrice(amount) + 'β¬';
- }
- }
- class Machine {
- Product[] products = new Product[5]();
- products[0] = new Product(1.0, 'mantequilla', 2, '0.75');
- products[1] = new Product(2.0, 'leche');
- products[2] = new Product(3.0, 'pan', 3, '0.8');
- products[3] = new Product(4.0, 'macarrones', 5, '0.9');
- products[4] = new Product(5.0, 'aceite', 3, '0.75');
- double total = 0; //Aqui almacenamos el precio total a pagar de todo
- String bill = ''; //Aqui almacenamos la factura, es decir: leche... 3 unidades... 4β¬ etc)
- void printProductsList() {
- System.out.println('MENU CON OBJETOS A ELEGIR');
- }
- String askProduct() {
- String productName;
- Scanner scan = new Scanner(System.in);
- System.out.println('Introduce el nombre del producto o terminar para acabar');
- return scan.nextLine();
- }
- int askAmount() {
- int amount;
- Scanner scan = new Scanner(System.in);
- System.out.println('Introduce la cantidad');
- return scan.nextInt();
- }
- //Busca el producto que le digas en el stock de tus productos y devuelve el producto
- Product findProduct(name) {
- Product aux;
- for(int i=0; i<this.products.length; i++) {
- if (this.products[i].name == name) aux = this.products[i].name;
- }
- return aux;
- }
- void doShopping() {
- String productName;
- int amount;
- Product productAux;
- do {
- productName = this.askProduct();
- amount = this.askAmount();
- productAux = this.findProduct(productName);
- this.total += productAux.getTotalPrice(amount);
- this.bill += productAux.getBillLine(amount);
- } while(aux !== 'terminar');
- this.endBuy();
- }
- void endBuy() {
- System.out.println(bill);
- System.out.println(total);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement