Números Romanos![RESOLVIDO]

Olá pessoal, estava fazendo um exercício e fiquei travado nesse aqui:
"Crie um programa em que o usuário digite um número de até 3 dígitos e converta esse número para Romanos.Utilize funções para obter cada dígito do número decimal e para a
transformação de numeração decimal para romana ( 1 = I, 5 = V, 10 = X, 50 = L, 100 = C, 500 = D, 1.000 = M; e utilize um vetor guardando a tradução para cada um dos dígitos).

Eu fiz uma parte do código , mas estou com dificuldade para continuar , por favor me deem alguma sugestão!! OBg!


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]);
            case 200:
                System.out.println(cent[1]);
            case 300:
                System.out.println(cent[2]);
            case 400:
                System.out.println(cent[3]);
            case 500:
                System.out.println(cent[4]);
            case 600:
                System.out.println(cent[5]);
            case 700:
                System.out.println(cent[6]);
            case 800:
                System.out.println(cent[7]);
            case 900:
                System.out.println(cent[8]);
        }
        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]);
            case 20:
                System.out.println(dez[1]);
            case 30:
                System.out.println(dez[2]);
            case 40:
                System.out.println(dez[3]);
            case 50:
                System.out.println(dez[4]);
            case 60:
                System.out.println(dez[5]);
            case 70:
                System.out.println(dez[6]);
            case 80:
                System.out.println(dez[7]);
            case 90:
                System.out.println(dez[8]);
        }
        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]);
            case 2:
                System.out.println(uni[1]);
            case 3:
                System.out.println(uni[2]);
            case 4:
                System.out.println(uni[3]);
            case 5:
                System.out.println(uni[4]);
            case 6:
                System.out.println(uni[5]);
            case 7:
                System.out.println(uni[6]);
            case 8:
                System.out.println(uni[7]);
            case 9:
                System.out.println(uni[8]);
        }
        return uni;
        
    }
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        int numero,cont =0;
        System.out.println("Digite um número: ");
        numero = teclado.nextInt();
        
        
            
                
        }
      }
        
    }
}

Seria melhor vc dizer onde está sua dúvida, o que conseguiu fazer, e o que não conseguiu do que postar todo seu código e só.

[quote=Anibal10]Olá pessoal, estava fazendo um exercício e fiquei travado nesse aqui:
"Crie um programa em que o usuário digite um número de até 3 dígitos e converta esse número para Romanos.Utilize funções para obter cada dígito do número decimal e para a
transformação de numeração decimal para romana ( 1 = I, 5 = V, 10 = X, 50 = L, 100 = C, 500 = D, 1.000 = M; e utilize um vetor guardando a tradução para cada um dos dígitos).

Eu fiz uma parte do código , mas estou com dificuldade para continuar , por favor me deem alguma sugestão!! OBg!

[code]

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]);
        case 200:
            System.out.println(cent[1]);
        case 300:
            System.out.println(cent[2]);
        case 400:
            System.out.println(cent[3]);
        case 500:
            System.out.println(cent[4]);
        case 600:
            System.out.println(cent[5]);
        case 700:
            System.out.println(cent[6]);
        case 800:
            System.out.println(cent[7]);
        case 900:
            System.out.println(cent[8]);
    }
    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]);
        case 20:
            System.out.println(dez[1]);
        case 30:
            System.out.println(dez[2]);
        case 40:
            System.out.println(dez[3]);
        case 50:
            System.out.println(dez[4]);
        case 60:
            System.out.println(dez[5]);
        case 70:
            System.out.println(dez[6]);
        case 80:
            System.out.println(dez[7]);
        case 90:
            System.out.println(dez[8]);
    }
    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]);
        case 2:
            System.out.println(uni[1]);
        case 3:
            System.out.println(uni[2]);
        case 4:
            System.out.println(uni[3]);
        case 5:
            System.out.println(uni[4]);
        case 6:
            System.out.println(uni[5]);
        case 7:
            System.out.println(uni[6]);
        case 8:
            System.out.println(uni[7]);
        case 9:
            System.out.println(uni[8]);
    }
    return uni;
    
}
public static void main(String[] args) {
    Scanner teclado = new Scanner(System.in);
    int numero,cont =0;
    System.out.println("Digite um número: ");
    numero = teclado.nextInt();
    
    
        
            
    }
  }
    
}

}
[/code][/quote]

Olá Anibal10

Só vou dar uma idéia : você terá que decompor o numero inteiro que recebe. Exemplo : recebe o numero 649, voce tem que decompor para 600, 40 e depois 9. Dica utilize o resto da divisao(%) e a divisao(/).

Po, obrigado cara , eu estava pensando nessa ideia, mas nao estava conseguindo visualizar como implementá-la.