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