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?

Zamiana liczby na słowa - Implementacja w Java
Ocena użytkownikóww: *****  / 5
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 27 lipca 2005 01:00
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.

LiczbaNaSlowa.java:
/**
 * Zamiana liczby na slowa
 * www.algorytm.org
 * (c)2005 Tomasz Lubinski
 */

public class LiczbaNaSlowa {


	private static String jednosci[] = {"", " jeden", " dwa", " trzy", " cztery", " piec", " szesc", " siedem", " osiem", " dziewiec"};
	private static String nascie[] = {"dziesiec", " jedenascie", " dwanascie", " trzynascie", " czternascie", " pietnascie", " szesnascie", " siedemnascie", " osiemnascie", " dziewietnascie"};
	private static String dziesiatki[] ={"", " dziesiec", " dwadziescia", " trzydziesci", " czterdziesci", " piecdziesiat", " szescdziesiat", " siedemdziesiat", " osiemdziesiat", " dziewiecdziesiat"};
	private static String setki[] = {"", " sto", " dwiescie", " trzysta", " czterysta", " piecset", " szescset", " siedemset", " osiemset", " dziewiecset"};
	private static String x[] = {"", " tys.", " mln.", " mld.", " bln.", " bld."};

	public static void main(String[] args) {
		
		String slownie = " ";
		int liczba, koncowka;
		int rzad = 0;
		int j = 0;
		int minus = 0;

		System.out.println("Podaj liczbe do zamiany na slowa\n");
		liczba = Console.readInt("?");

		if (liczba<0)
		        {
		        minus=1;
		        liczba=-liczba;
		        }

		if (liczba==0) slownie="zero";

		while (liczba>0)
		        {
		        koncowka=(liczba%10);
		        liczba/=10;
		        if ((j==0)&&(liczba%100!=0 || koncowka !=0)) slownie = x[rzad] + slownie;
		        if ((j==0)&&(liczba%10!=1)) slownie = jednosci[koncowka] + slownie;
		        if ((j==0)&&(liczba%10==1))
		                {
		                slownie = nascie[koncowka] + slownie;
		                liczba/=10;
		                j+=2;
		                continue;
		                }
		        if (j==1) slownie = dziesiatki[koncowka] + slownie;
		        if (j==2)
		                {
		                slownie = setki[koncowka] + slownie;
		                j=-1;
		                rzad++;
		                }
		        j++;
		        }

		if (minus==1) slownie = "minus" + slownie;

		System.out.println("Odpowiedz: " + slownie);
	}
}
Dodaj komentarz