public class Trinary {
private static final int RADIX = 3;
public static int toDecimal(String trinary) {
if (!validTrinary(trinary)) {
return 0;
}
int result = 0;
int power = 1;
for (int i = trinary.toCharArray().length - 1; i >= 0; i--) {
int digit = Character.digit(trinary.charAt(i), RADIX);
result += digit * power;
power *= RADIX;
}
return result;
}
private static boolean validTrinary(String trinary) {
return trinary.matches("[012]+");
}
}