package com.javarush.test.level30.lesson02.task01;
/* Осваиваем методы класса Integer
Используя метод Integer.parseInt(String, int) реализуйте логику метода convertToDecimalSystem,
который должен переводить переданную строку в десятичное число и возвращать его в виде строки.
*/
public class Solution {
public static void main(String[] args) {
System.out.println(convertToDecimalSystem("0x16")); //22
System.out.println(convertToDecimalSystem("012")); //10
System.out.println(convertToDecimalSystem("0b10")); //2
System.out.println(convertToDecimalSystem("62")); //62
}
public static String convertToDecimalSystem(String s) {
int radix = 0;
StringBuilder builder = new StringBuilder();
char[] chars = s.toCharArray();
if (chars[0] == '0' && chars[1] == 'x') {
for (int i = 2; i < chars.length; i++) {
builder.append(chars[i]);
}
radix = 16;
} else if (chars[1] == 'b') {
for (int i = 2; i < chars.length; i++) {
builder.append(chars[i]);
}
radix = 2;
} else if (chars[0] == '0') {
for (int i = 1; i < chars.length; i++) {
builder.append(chars[i]);
}
radix = 8;
} else return s;
s = String.valueOf(Integer.parseInt(builder.toString(), radix));
return s;
}
}
Leave A Comment