У меня есть сценарий, в котором символы, подобные приведенным ниже, будут поступать в файл фиксированной длины
{ABCDEFGHI = Этот набор символов представляет собой положительные числа 0123456789 соответственно
} JKLMNOPQR = Этот набор символовпредставляет отрицательные числа 0123456789 соответственно
Мне нужно преобразовать их в соответствующее число 0123456789 (положительное и отрицательное), используя Java.например:
45 {должно быть преобразовано в 450 (поскольку '{' представляет положительное '0')
45A должно быть преобразовано в 451 (поскольку 'A' представляет положительное '1')
45B следует преобразовать в 452 (поскольку «A» представляет положительное значение «2»)
45} следует преобразовать в -450 (поскольку «}» представляет отрицательное значение «0»)
45J следует преобразовать в -451 (поскольку «J» представляет отрицательное «1»)
45K следует преобразовать в -452 (поскольку «K» представляет отрицательное «2»)
Я не так хорош в Java, поэтому я использую приведенный ниже код, чтобы сначала заменить строку, содержащую вышеупомянутый символ, соответствующим числом, используя функцию replace.Я знаю, что должен быть лучший способ сделать это. Может ли кто-нибудь предложить мне это. Большое спасибо заранее.
public static String replaceChar(String str) {
if (str.contains("{")) {
str = str.replace("{", "0");
}
if (str.contains("A")) {
str = str.replace("A", "1");
}
if (str.contains("B")) {
str = str.replace("B", "2");
}
if (str.contains("C")) {
str = str.replace("C", "3");
}
if (str.contains("D")) {
str = str.replace("D", "4");
}
if (str.contains("E")) {
str = str.replace("E", "5");
}
if (str.contains("F")) {
str = str.replace("F", "6");
}
if (str.contains("G")) {
str = str.replace("G", "7");
}
if (str.contains("H")) {
str = str.replace("H", "8");
}
if (str.contains("I")) {
str = str.replace("I", "9");
}
if (str.contains("J")) {
str = str.replace("J", "1");
}
return str;
}