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();
}
}
큰 제안으로서, 편지의 의미가 그 편지의 의미가 그 편지의 의미를 따라갈 수 있다는 사실을 고려하여 프로그램을 수정해야합니다 (하나 있다고 가정). – dave
프로그램이 컴파일됩니까? –
네, 그렇습니다 .... –