lots of exercises in java... from https://github.com/exercism/java

example.java 583B

123456789101112131415161718192021222324
  1. public class Trinary {
  2. private static final int RADIX = 3;
  3. public static int toDecimal(String trinary) {
  4. if (!validTrinary(trinary)) {
  5. return 0;
  6. }
  7. int result = 0;
  8. int power = 1;
  9. for (int i = trinary.toCharArray().length - 1; i >= 0; i--) {
  10. int digit = Character.digit(trinary.charAt(i), RADIX);
  11. result += digit * power;
  12. power *= RADIX;
  13. }
  14. return result;
  15. }
  16. private static boolean validTrinary(String trinary) {
  17. return trinary.matches("[012]+");
  18. }
  19. }