소스 검색

Atbash: Simplify model answer

Zhi Yuan Yong 8 년 전
부모
커밋
6d442864ab
1개의 변경된 파일2개의 추가작업 그리고 10개의 파일을 삭제
  1. 2
    10
      exercises/atbash-cipher/.meta/src/reference/java/Atbash.java

+ 2
- 10
exercises/atbash-cipher/.meta/src/reference/java/Atbash.java 파일 보기

@@ -30,15 +30,7 @@ class Atbash {
30 30
     }
31 31
 
32 32
     private String stripInvalidCharacters(String input) {
33
-        StringBuilder filteredValue = new StringBuilder(input.length());
34
-
35
-        for (char c : input.toCharArray()) {
36
-            if (Character.isLetterOrDigit(c)) {
37
-                filteredValue.append(c);
38
-            }
39
-        }
40
-
41
-        return filteredValue.toString();
33
+        return input.replaceAll("\\W", "");
42 34
     }
43 35
 
44 36
     private char applyCipher(char input) {
@@ -51,7 +43,7 @@ class Atbash {
51 43
         List<String> words = new ArrayList<>();
52 44
 
53 45
         for (int i = 0; i < value.length(); i += GROUP_SIZE) {
54
-            words.add(i + GROUP_SIZE <= value.length() ? value.substring(i, i + GROUP_SIZE) : value.substring(i));
46
+            words.add(value.substring(i, Math.min(value.length(), i + GROUP_SIZE)));
55 47
         }
56 48
 
57 49
         return String.join(" ", words);