2016-09-23 2 views
0

1에서 999까지 10 진수로 로마 숫자 변환기를 사용하고 있는데, 예를 들어 XV로 acum에 값을 추가 할 수 있습니다. 10 + 5 = 15를 더할 수 있지만 IV, 5-1 = 4, 이전에 문자가 낮은 값으로 비교되면 어떻게 비교할 수 있습니까? 비교하기 위해 배열을 뒤로 인쇄하려고했으나 할 수 없었습니다.문자열을 뒤에서 비교

import java.util.*; 

public class NumerosRomanos { 
    private String numero; 

    public NumerosRomanos(String numero){ 
     setNumero(numero); 
    } 
     public void setNumero(String numero){ 
      this.numero=numero; 
     } 
     public String getNumero(){ 
      return numero; 
     } 

     public String mayusculas(String numero){ 
      return numero.toUpperCase(); 
    } 

    public String separar(){ 
     String mayusculas=mayusculas(numero); 
     String[] resultado=mayusculas.split("",0); 
     for(int i=0;i<resultado.length;i++){ 
      System.out.println(resultado[i]); 
     } 
     int acum=0; 
     for(int i=0;i<resultado.length;i++){ 
     switch(resultado[i]){ 
     case "I": acum+=1; 
     break; 
     case "V": acum+=5; 
     break; 
     case "X": acum+=10; 
     break; 
     case "L": acum+=50; 
     break; 
     case "C": acum+=100; 
     break; 
     case "D": acum+=500; 
     break; 
     case "M": acum+=1000; 
     break; 
     default: System.out.println("Error"); 
     break; 
     } 
     } 
     for(int contador2=resultado.length; contador2 > 0;contador2--){ 
      System.out.println(resultado[contador2]); 
     } 
     String ultimo= Integer.toString(acum); 
     return ultimo; 
    } 




    public String toString(){ 
     return separar(); 
    } 

} 
+2

큰 제안으로서, 편지의 의미가 그 편지의 의미가 그 편지의 의미를 따라갈 수 있다는 사실을 고려하여 프로그램을 수정해야합니다 (하나 있다고 가정). – dave

+0

프로그램이 컴파일됩니까? –

+0

네, 그렇습니다 .... –

답변

관련 문제