aboutsummaryrefslogtreecommitdiffstats
path: root/csci1913/Java/lab10_strap012.java
diff options
context:
space:
mode:
Diffstat (limited to 'csci1913/Java/lab10_strap012.java')
-rw-r--r--csci1913/Java/lab10_strap012.java109
1 files changed, 109 insertions, 0 deletions
diff --git a/csci1913/Java/lab10_strap012.java b/csci1913/Java/lab10_strap012.java
new file mode 100644
index 0000000..c8fea79
--- /dev/null
+++ b/csci1913/Java/lab10_strap012.java
@@ -0,0 +1,109 @@
+class AssociationList<Key, Value> {
+ private class Node {
+ private Key key;
+ private Value value;
+ private Node next;
+ private Node(Key k, Value v, Node n) {
+ key=k; value=v; next=n;
+ }
+ }
+ public AssociationList() {
+ Node head = new Node("HEAD", "HEAD", null);
+ }
+ public void delete(Key key) {
+
+ }
+ public Value get(Key key) {
+
+ }
+ private boolean isEqual(Key leftKey, Key rightKey) {
+ if (leftKey == null || rightKey == null) {
+ return leftKey == rightKey;
+ } else {
+ return leftkey.equals(rightKey);
+ }
+ }
+ public boolean isIn(Key key) {
+
+ }
+ public void put(Key key, Value value) {
+
+ }
+
+
+}
+
+//
+// Tests for CSci 1913 Lab 10
+// James Moen
+// 08 Apr 19
+//
+// The TRY-CATCH statements catch exceptions thrown by ASSOCIATION LIST's
+// methods, so that the program can continue to run even if a method fails.
+//
+// Each test has a comment that shows what it should print and how many points
+// it is worth, for a total of 40 points.
+
+// HOGWARTS. The Hogwarts dating service.
+
+class Hogwarts {
+
+ // MAIN. Make an instance of ASSOCIATION LIST and test it.
+
+ public static void main(String[] args) {
+ AssociationList<String, String> list = new AssociationList<String, String>();
+
+ System.out.println(list.isIn(null)); // false 2 points.
+
+ try {
+ System.out.println(list.get(null));
+ } catch (IllegalArgumentException ignore) {
+ System.out.println("No null"); // No null 2 points.
+ }
+
+ list.put(null, "Wormtail");
+ list.put("Ron", "Lavender");
+ list.put("Voldemort", null);
+ list.put("Dean", "Ginny");
+
+ System.out.println(list.isIn("Dean")); // true 2 points.
+ System.out.println(list.isIn("Ginny")); // false 2 points.
+ System.out.println(list.isIn("Ron")); // true 2 points.
+ System.out.println(list.isIn("Voldemort")); // true 2 points.
+ System.out.println(list.isIn(null)); // true 2 points.
+ System.out.println(list.isIn("Joanne")); // false 2 points.
+
+ System.out.println(list.get("Ron")); // Lavender 2 points.
+ System.out.println(list.get("Dean")); // Ginny 2 points.
+ System.out.println(list.get("Voldemort")); // null 2 points.
+ System.out.println(list.get(null)); // Wormtail 2 points.
+
+ try {
+ System.out.println(list.get("Joanne"));
+ } catch (IllegalArgumentException ignore) {
+ System.out.println("No Joanne"); // No Joanne 2 points.
+ }
+
+ list.delete(null);
+
+ System.out.println(list.isIn(null)); // false 2 points.
+
+ list.put(null, null);
+ list.put("Harry", "Ginny");
+ list.put("Ron", "Hermione");
+
+ System.out.println(list.isIn(null)); // true 2 points.
+ System.out.println(list.get(null)); // null 2 points.
+ System.out.println(list.get("Harry")); // Ginny 2 points.
+ System.out.println(list.get("Dean")); // Ginny 2 points.
+ System.out.println(list.get("Ron")); // Hermione 2 points.
+
+ list.delete("Dean");
+
+ try {
+ System.out.println(list.get("Dean"));
+ } catch (IllegalArgumentException ignore) {
+ System.out.println("No Dean"); // No Dean 2 points.
+ }
+ }
+} \ No newline at end of file