Bonjour à tous !
je sollicite votre aide ,car j´ai fais un programme java pour convertir des chiffre arabe (1,2...jusqu´a 999) en chiffre romains mais je ne suis pas sur de ma methode . c´est pourquoi j´aimerais bien votre avis
P.s : c´est un Dm d´infos en prépa .
Voila le prog pour les chiffre de 1 a 999:
import fr.jussieu.script.Deug;
public class Chiffre
{ static String additif (int x,char un,char cinq)
{ String s = " ";
if(x>=5) s = s + cinq;
switch (x % 5)
{ case 1: s = s + un; break;
case 2: s= s + un + un; break;
case 3: s = s + un + un + un; break;
case 4: s = s + un + un + un + un; break;
}
return s;
}
static String soustractif (int x,char un, char cinq,char dix)
{ String s;
switch (x)
{ case 0: s = " "; break;
case 1: s = " " + un; break;
case 2: s = " " + un + un; break;
case 3: s = " " + un + un + un; break;
case 4: s = " " + un + cinq; break;
case 5: s = " " + cinq; break;
case 6: s = " " + cinq + un; break;
case 7: s = " " + cinq + un + un; break;
case 8: s = " " + cinq + un + un + un; break;
case 9: s = " " + un + dix; break;
default : s = "??";
}
return s;
}
static String Romains (int n)
{ if (n >= 1 && n <= 999)
{int unités = n % 10;
int dizaines = (n / 10) % 10
int centaines = (n / 100) % 10
if { return ( soustractif (centaines , ´C´,´D´,´M´) +
soustractif (dizaines , ´X´,´L´,´C´) +
soustractif (unites ,´I´,´V´,´X´));
}
else { return "Nombre impossible a ecrire en chiffre romains.";
}
public static void main (String[] args)
{ Deug.print("entrer un nombre compris entre 1 et 999 : " ");
int n = Deug.readInt();
Deug.println("Notation romaine : "+ Romains( n );
}
}
Bon c´est un peu long mais j´espere que vous pourrez me dire si c´est bon ou pas
merci 