roman to integer

 import java.util.*;

class romanToint {

int dec;

char roman[];

ArrayList<Integer> romanValue = new ArrayList<>();

int value[] = {1000, 500, 100, 50, 10, 5, 1};

char key[] = {'M', 'D', 'C', 'L', 'X', 'V', 'I'};

romanToint(String x) {

x = x.toUpperCase();

roman = x.toCharArray();

getvalue();

work();

}


void getvalue() {

int point;

for (int i = 0; i < roman.length; i++) {

for (int j = 0; j < value.length; j++) {

if (roman[i] == key[j]) {

romanValue.add(value[j]);

}

}

}


}

void work() {


for (int i = 0; i < romanValue.size(); i++) {


if (i + 1 < romanValue.size()) {

int v1 = romanValue.get(i);

int v2 = romanValue.get(i + 1);


if (v1 == v2) {


dec = dec + v1;

} else {

if (v1 < v2) {

dec = dec + (v2 - v1);

i++;

} else {

dec = dec + v1;

}

}

} else {

dec = dec + romanValue.get(i);

return;

}

}




}

}


class mywork {

public static void main(String args[]) {

String s2 = "MMMCMXCIX";

String s = "lxvmc";


romanToint q1 = new romanToint(s);

System.out.println(q1.dec);

}

}

Comments