Selaa lähdekoodia

{jaejoson submission}

Jacqueline Joson 7 vuotta sitten
vanhempi
commit
d7e1a87d2e

+ 0
- 32
Crypto/src/ROT13.java Näytä tiedosto

@@ -1,32 +0,0 @@
1
-import static java.lang.Character.isLowerCase;
2
-import static java.lang.Character.isUpperCase;
3
-import static java.lang.Character.toLowerCase;
4
-
5
-public class ROT13  {
6
-
7
-    ROT13(Character cs, Character cf) {
8
-    }
9
-
10
-    ROT13() {
11
-    }
12
-
13
-
14
-    public String crypt(String text) throws UnsupportedOperationException {
15
-
16
-        return "";
17
-    }
18
-
19
-    public String encrypt(String text) {
20
-        return text;
21
-    }
22
-
23
-    public String decrypt(String text) {
24
-        return text;
25
-    }
26
-
27
-    public static String rotate(String s, Character c) {
28
-
29
-        return "";
30
-    }
31
-
32
-}

+ 5
- 0
Crypto/src/main/java/Caesar.java Näytä tiedosto

@@ -0,0 +1,5 @@
1
+public class Caesar extends ROT13 {
2
+    Caesar () {
3
+        super ('a', 'd');
4
+    }
5
+}

+ 74
- 0
Crypto/src/main/java/ROT13.java Näytä tiedosto

@@ -0,0 +1,74 @@
1
+import static java.lang.Character.isLowerCase;
2
+import static java.lang.Character.isUpperCase;
3
+import static java.lang.Character.toLowerCase;
4
+
5
+public class ROT13  { //rotate13characters
6
+    //cryptography language: start w/ plaintext (data that has not yet been encryted) -> cryptmethodfunction ->
7
+    //produces ciphertext;
8
+//    private final String uppercaseStart = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
9
+//    private final String lowercaseStart = "abcdefghijklmnopqrstuvwxyz";
10
+    protected String startUpper;
11
+    protected  String startLower;
12
+
13
+
14
+
15
+    ROT13(Character cs, Character cf) {
16
+    }
17
+
18
+    ROT13() {
19
+    }
20
+
21
+
22
+    public String crypt(String text) throws UnsupportedOperationException {
23
+        StringBuilder sb = new StringBuilder();
24
+        for (int i = 0; i < text.length(); i++) {
25
+            char ch = text.charAt(i);
26
+            if (ch > 'a' && ch <= 'm') {
27
+                ch += 13;
28
+            } else if (ch >= 'A' && ch <= 'M') {
29
+                ch += 13;
30
+            } else if (ch >= 'n' && ch <= 'z') {
31
+                ch -= 13;
32
+            } else if (ch >= 'N' && ch <= 'Z') {
33
+                ch -= 13;
34
+            }
35
+            sb.append(ch);
36
+        }
37
+        return sb.toString();
38
+    }
39
+
40
+    public String encrypt(String text) {
41
+        return crypt(text);
42
+    }
43
+
44
+    public String decrypt(String text) {
45
+        return crypt(text);
46
+    }
47
+
48
+//        StringBuilder sb = new StringBuilder();
49
+//        for (int i = 0; i < text.length; i++) {
50
+//            Character ch = text.charAt(i);
51
+//            Integer position = 0;
52
+//            if (isUpperCase(ch)) {
53
+//                position = startUpper.indexOf(ch);
54
+//                sb.append(registUpper.charAt(position));
55
+//            } else if (isLowerCase(ch)) {
56
+//                position = registerLower.indexOf(ch);
57
+//                sb.append(startLower.charAt(position));
58
+//            } else {
59
+//                sb.append(ch);
60
+//            }
61
+//
62
+//        }
63
+//
64
+//        return sb.toString();
65
+//    }
66
+
67
+
68
+    public static String rotate(String s, Character c) {
69
+        int offset = s.indexOf(c);
70
+        int i = offset % s.length();
71
+        return s.substring(i) + s.substring(0, i);
72
+    }
73
+
74
+}

Crypto/src/ROT13Test.java → Crypto/src/test/java/ROT13Test.java Näytä tiedosto


+ 16
- 0
SimpleCrypt.iml Näytä tiedosto

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
4
+    <output url="file://$MODULE_DIR$/target/classes" />
5
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
6
+    <content url="file://$MODULE_DIR$">
7
+      <sourceFolder url="file://$MODULE_DIR$/Crypto/src/main/java" isTestSource="false" />
8
+      <sourceFolder url="file://$MODULE_DIR$/Crypto/src/test/java" isTestSource="true" />
9
+      <excludeFolder url="file://$MODULE_DIR$/target" />
10
+    </content>
11
+    <orderEntry type="inheritedJdk" />
12
+    <orderEntry type="sourceFolder" forTests="false" />
13
+    <orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
14
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
15
+  </component>
16
+</module>

+ 7
- 0
pom.xml Näytä tiedosto

@@ -8,5 +8,12 @@
8 8
     <artifactId>SimpleCrypt</artifactId>
9 9
     <version>1.0-SNAPSHOT</version>
10 10
 
11
+    <dependencies>
12
+        <dependency>
13
+            <groupId>junit</groupId>
14
+            <artifactId>junit</artifactId>
15
+            <version>4.12</version>
16
+        </dependency>
17
+    </dependencies>
11 18
 
12 19
 </project>