viernes, 14 de agosto de 2015

Cambio de monedas en java

Código aquí

package ejercicio;

import java.util.Scanner;

/**
 *
 * @author Sarurai
 */
public class Ejercicio {

    public boolean calcular(int monto, int[] valor, int[] num) {
        int cont = dineroTotal(valor, num);
        if (cont >= monto) {
            int[] cambio = this.cambio(monto, valor, num);
            for (int i = 0; i < cambio.length; i++) {
                System.out.println(valor[i] + " = " + cambio[i] + " unidad(es)");
            }
            return true;

        } else {
            return false;
        }
    }

    private int[] cambio(int monto, int[] valor, int[] num) {

        int[] moneda = new int[valor.length];

        for (int i = 0; i < valor.length; i++) {
            while (valor[i] <= monto && num[i] > 0) {
                moneda[i]++;
                num[i]--;
                monto = monto - valor[i];
            }
        }

        return moneda;
    }

    public int dineroTotal(int[] valor, int[] num) {
        int cont = 0;
        for (int i = 0; i < num.length; i++) {
            cont += num[i] * valor[i];
        }
        return cont;
    }

    public static void main(String[] args) {
        Ejercicio metodo = new Ejercicio();
        Scanner leer = new Scanner(System.in);
        int[] moneda = {100, 50, 10, 5, 1};// monedad
        int[] cantidadMoneda = {((int) (Math.random() * 100)), (int) (Math.random() * 200),
            (int) (Math.random() * 400), (int) (Math.random() * 600), (int) (Math.random() * 1000)};//cantidad de monedas aleatorias
        //Quiero  en monedas
        System.out.println("El dinero total de la maquina expendedora es: " + metodo.dineroTotal(moneda, cantidadMoneda));
        System.out.println("Ingrese la cantida que quiere cambiar ");
        int saldo = leer.nextInt();
        System.out.println("Vuelto: " + saldo);
        boolean exito = metodo.calcular(saldo, moneda, cantidadMoneda);
        System.out.println("Solucion: " + exito);
    }
}


Corrida

No hay comentarios:

Publicar un comentario