Olá pessoal , eu sei que eu já criei um tópico relacionado a isso, mas me surgiu um outro problema.
Eu consegui fazer com que os números fossem convertidos para romanos, até aí tudo bem.
package Romano;
import java.util.Scanner;
public class Romano {
public static String[] centena(int c){
String []cent = new String[9];
cent[0]="C";
cent[1]="CC";
cent[2]="CCC";
cent[3]="CD";
cent[4]="D";
cent[5]="DC";
cent[6]="DCC";
cent[7]="DCCC";
cent[8]="CM";
switch(c){
case 100:
System.out.println(cent[0]);
break;
case 200:
System.out.println(cent[1]);
break;
case 300:
System.out.println(cent[2]);
break;
case 400:
System.out.println(cent[3]);
break;
case 500:
System.out.println(cent[4]);
break;
case 600:
System.out.println(cent[5]);
break;
case 700:
System.out.println(cent[6]);
break;
case 800:
System.out.println(cent[7]);
break;
case 900:
System.out.println(cent[8]);
break;
}
return cent;
}
public static String[] dezena(int b){
String[] dez = new String[9];
dez[0]="X";
dez[1]="XX";
dez[2]="XXX";
dez[3]="LX";
dez[4]="L";
dez[5]="LX";
dez[6]="LXX";
dez[7]="LXXX";
dez[8]="LC";
switch(b){
case 10:
System.out.println(dez[0]);
break;
case 20:
System.out.println(dez[1]);
break;
case 30:
System.out.println(dez[2]);
break;
case 40:
System.out.println(dez[3]);
break;
case 50:
System.out.println(dez[4]);
break;
case 60:
System.out.println(dez[5]);
break;
case 70:
System.out.println(dez[6]);
break;
case 80:
System.out.println(dez[7]);
break;
case 90:
System.out.println(dez[8]);
break;
}
return dez;
}
public static String[] unidade(int a){
String [] uni = new String[9];
uni[0]="I";
uni[1]="II";
uni[2]="III";
uni[3]="IV";
uni[4]="V";
uni[5]="VI";
uni[6]="VII";
uni[7]="VIII";
uni[8]="IX";
switch(a){
case 1:
System.out.println(uni[0]);
break;
case 2:
System.out.println(uni[1]);
break;
case 3:
System.out.println(uni[2]);
break;
case 4:
System.out.println(uni[3]);
break;
case 5:
System.out.println(uni[4]);
break;
case 6:
System.out.println(uni[5]);
break;
case 7:
System.out.println(uni[6]);
break;
case 8:
System.out.println(uni[7]);
break;
case 9:
System.out.println(uni[8]);
break;
}
return uni;
}
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int numero,cont = 0,digito, aux,aux2;
System.out.println("Digite um número: ");
numero = teclado.nextInt();
digito = numero;
aux =numero;
aux2 = numero;
while(digito > 0){
digito /= 10;
cont++;
}
switch(cont){
case 1:
System.out.println(unidade(numero));
break;
case 2:
aux %= 10;
numero -= aux;
System.out.println(dezena(numero));
//System.out.print("\t");
System.out.println(unidade(aux));
break;
case 3:
aux %= 10;
numero -= aux;
numero %= 100;
aux2 -= (numero + aux);
System.out.println(centena(aux2));
System.out.println(dezena(numero));
System.out.println(unidade(aux));
}
}
}
Mas quando eu rodo o programa aparece isso :
Digite um número:
463
CD
[Ljava.lang.String;@11a64ed
LX
[Ljava.lang.String;@1d80e6d
III
[Ljava.lang.String;@19b5393
Digite um número:
84
LXXX
[Ljava.lang.String;@11a64ed
IV
[Ljava.lang.String;@1d80e6d
Não sei porque essas mensagens estão aparecendo, por favor me deem alguma sugestão!! Obrigado!!