| 123456789101112131415161718192021222324 |
- 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]+");
- }
- }
|