Rooma number on ladina tähestiku tähtede kombinatsioon. Need numbrid, mis olid enam levinud Vana-Rooma impeeriumi valitsemisajal, on nüüdseks enamasti asendatud araabia numbritega. Arvude esitamine rooma numbritena on aga probleem, mis arvutiteaduse valdkonnas ikka ja jälle esile kerkib. Javas peame sageli teisendama täisarvu selle samaväärseks rooma numbrite esituseks. Selles artiklis uurime lihtsalt, kuidas seda saavutada.
Täisarvu teisendamiseks rooma numbrite esitusviisiks loome Java programmi. Programm võtab kasutajalt täisarvu ja tagastab seejärel samaväärse rooma numbri.
Siin on Java-kood, mida saab selle probleemi lahendamiseks kasutada:
public class intToRoman {
static String intToRoman(int num) {
String[] m = {"", "M", "MM", "MMM"};
String[] c = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
String[] x = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
String[] i = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
String thousands = m[num/1000];
String hundreds = c[(num%1000)/100];
String tens = x[(num%100)/10];
String ones = i[num%10];
String ans = thousands + hundreds + tens + ones;
return ans;
}
public static void main(String[] args) {
int num = 2000;
System.out.println(intToRoman(num));
}
}
Java konversiooniprogrammi mõistmine
Java programm kasutab selle probleemi lahendamiseks massiivide indekseerimise kontseptsiooni. Esimene samm on nelja massiivi – 'm', 'c', 'x' ja 'i' – initsialiseerimine. Iga massiiv esindab arvu erinevaid numbreid rooma numbritega.
Massiiv "m" tähistab tuhandete kohta, "c" massiiv tähistab sadade kohta, "x" tähistab kümnete kohta ja "i" massiiv tähistab üksikute ühikute kohta pärast jagamist.
Nüüd on kõik need massiivid täidetud nende rooma esitustega ja arvutatud massiiviindeksi põhjal valitakse õige rooma number.
Java raamatukogude ühendamine
Selles koodis on teisendamise hõlbustamiseks kasutatud Java teeke . Üks levinumaid Java teekide funktsioone on funktsioon 'System.out.println()' paketist 'java.lang'. Seda kasutatakse väljundi kuvamiseks kasutajale.
Teine laialdaselt kasutatav teegi funktsioon on funktsioon main(), mis on samuti osa paketist java.lang. See funktsioon on mis tahes Java programmi sisenemispunkt.
Java programmi praktiline rakendamine
Täisarvude teisendamine rooma numbriteks leiab kasutust mitmetes rakendustes . See on eriti kasulik kodeerimisülesannetes ja testides, kus testitakse andmete manipuleerimise ja esitamise võimet erinevates vormingutes. Seetõttu võib selle programmi mõistmine olla oluline mitte ainult selle, vaid ka teiste sarnaste probleemide lahendamisel.
Kõigist nendest võime järeldada, et täisarvu muutmine rooma numbriks Java abil on probleem, mida saab hõlpsasti lahendada massiivi indekseerimise ja stringide käsitlemise mehhanismide abil, mida Java hõlpsalt ja jõuliselt pakub.