Na razie mam tylko dla nie ograniczonej liczby poszczególnych monet, pytanie jak powiązać ilość monet z daną wartością monety. Czy może przechowywać w tablicy dwuwymiarowej czy jak, proszę o jakieś podpowiedzi.
package areszta;
import java.util.InputMismatchException;
import java.util.Scanner;
public class AReszta {
public static void main(String[] args) {
final double[] NOMINALY = {200.0, 100.0, 50.0, 20.0, 10.0, 5.0, 2.0, 1.0, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01};
double reszta = 0;
Scanner sc = new Scanner(System.in);
System.out.print("Podaj reszte: ");
try {
reszta = sc.nextDouble();
} catch (InputMismatchException ex) {
System.out.println("Nieprawidlowa wartosc");
return;
}
String wynik = "Reszta:\n";
for (int i = 0; ((i < NOMINALY.length) && (reszta > 0.00)); i++) {
if (reszta >= NOMINALY[i]) {
int temp = (int) Math.floor(reszta / NOMINALY[i]); //Math.floor największa liczba całkowita która jest mniejsza lub równa od podanej liczby;
wynik += NOMINALY[i] + " PLN x " + temp + "\n";
reszta = (double) Math.round(100 * (reszta - (temp * NOMINALY[i]))) / 100;
}
}
System.out.println(wynik);
}
}