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

example.java 867B

123456789101112131415161718192021222324252627282930313233343536
  1. public class Binary {
  2. private String binary;
  3. private int decimal;
  4. public Binary(String binary) {
  5. this.binary = binary;
  6. this.decimal = getDecimalFromBinary(binary);
  7. }
  8. public int getDecimal() {
  9. return decimal;
  10. }
  11. private static int getDecimalFromBinary(String binary) {
  12. if (!isValid(binary)) {
  13. return 0;
  14. }
  15. int sum = 0;
  16. for (int i = 0; i < binary.length(); i++) {
  17. sum += Character.getNumericValue(binary.charAt(i)) * (int) Math.pow(2, binary.length() - i - 1);
  18. }
  19. return sum;
  20. }
  21. private static boolean isValid(String binaryRepresentation) {
  22. boolean isValid = binaryRepresentation.chars()
  23. .allMatch(x -> Character.isDigit((char) x) && Character.getNumericValue((char) x) < 2);
  24. return isValid;
  25. }
  26. }