Un nombre romà és un nombre representat per una combinació de lletres de l'alfabet llatí. Aquests números, més freqüents durant el regnat de l'Antic Imperi Romà, ara s'han substituït majoritàriament per números àrabs. Tanmateix, la representació dels nombres com a números romans és un problema que encara no para de sorgir en l'àmbit de la informàtica. A Java, sovint necessitem convertir un nombre enter a la seva representació equivalent en nombre roman. En aquest article, només aprofundirem en com aconseguir-ho.
Per tal de convertir un nombre enter a la seva representació en nombre roman, crearem un programa Java. El programa acceptarà una entrada de nombre enter de l'usuari i després retornarà el seu número romà equivalent.
Aquí teniu el codi Java que es pot utilitzar per resoldre aquest problema:
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));
}
}
Entendre el programa Java per a la conversió
El programa Java utilitza el concepte d'indexació de matrius per resoldre aquest problema. El primer pas és la inicialització de quatre matrius: 'm', 'c', 'x' i 'i'. Cada matriu representa la representació de números romans per a diferents dígits del nombre.
La matriu "m" representa el lloc dels milers, la matriu "c" representa el lloc de les centenes, la "x" representa el lloc de les desenes i la matriu "i" representa el lloc de les unitats individuals després de la divisió.
Ara cadascuna d'aquestes matrius s'omple amb les seves representacions romanes i es selecciona el número romà correcte en funció de l'índex de matriu que es calcula.
Integració de biblioteques de Java
Java biblioteques s'han utilitzat en aquest codi per facilitar la conversió. Una de les funcions de biblioteca de Java més utilitzades és la funció 'System.out.println()' del paquet 'java.lang'. S'utilitza per mostrar la sortida a l'usuari.
Una altra funció de biblioteca molt utilitzada és la funció 'main()', també part del paquet 'java.lang'. Aquesta funció és el punt d'entrada a qualsevol programa Java.
Aplicació pràctica del programa Java
La conversió de nombres enters a números romans té ús en a nombre d'aplicacions. És especialment útil en problemes de codificació i proves on es prova la capacitat de manipular i representar dades en diferents formats. Per tant, la comprensió d'aquest programa pot ser fonamental per resoldre no només aquest problema, sinó també altres problemes similars.
A partir de tot això, podem concloure que la transformació d'un nombre enter a un número romà mitjançant Java és un problema que es pot abordar fàcilment mitjançant mecanismes d'indexació de matrius i de maneig de cadenes que Java proporciona de manera fàcil i robusta.