algorytm.org

Implementacja w Java



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Problem wydawania reszty - Implementacja w Java
Ocena użytkownikóww: *****  / 3
SłabyŚwietny
Nadesłany przez Dominik Goździuk, 20 lutego 2012 23:24
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

WydawanieReszty.java:
// Problem wydawania reszty
//(c) Dominik Goździuk
// www.algorytm.org

import java.util.Scanner;
import java.util.InputMismatchException;

public class WydawanieReszty {

    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]);
				wynik += NOMINALY[i] + " PLN x " + temp + "\n";
				reszta = (double) Math.round(100*(reszta-(temp*NOMINALY[i])))/100;
			}
		}

		System.out.println(wynik);
    }
}
Dodaj komentarz