From 333b36e9994b32f89486085d1a06ee2b18b3ec49 Mon Sep 17 00:00:00 2001 From: Emanuels Zaurins Date: Wed, 6 Aug 2025 15:35:21 +0200 Subject: [PATCH 1/2] ex completed --- src/main/java/com/booleanuk/Scrabble.java | 91 ++++++++++++++++++++++- 1 file changed, 89 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/booleanuk/Scrabble.java b/src/main/java/com/booleanuk/Scrabble.java index 88108a8..ecbad14 100644 --- a/src/main/java/com/booleanuk/Scrabble.java +++ b/src/main/java/com/booleanuk/Scrabble.java @@ -1,12 +1,99 @@ package com.booleanuk; +import java.util.HashMap; +import java.util.Map; + public class Scrabble { + private String word; public Scrabble(String word) { - + this.word = word; } public int score() { - return -1; + + this.word = this.word.toLowerCase(); + //Map map = new HashMap<>(); + Map score = new HashMap<>(); + score.put('a', 1); + score.put('e', 1); + score.put('i', 1); + score.put('o', 1); + score.put('u', 1); + score.put('l', 1); + score.put('n', 1); + score.put('r', 1); + score.put('s', 1); + score.put('t', 1); + + score.put('d', 2); + score.put('g', 2); + + score.put('b', 3); + score.put('m', 3); + score.put('p', 3); + score.put('c', 3); + + score.put('f', 4); + score.put('h', 4); + score.put('v', 4); + score.put('w', 4); + score.put('y', 4); + + score.put('k', 5); + + score.put('j', 8); + score.put('x', 8); + + score.put('q', 10); + score.put('z', 10); + int total = 0; + char oldC = ' '; + char oldC2 = ' '; + for (char c : this.word.toCharArray()){ + + if (c== '{' || c== '[' || oldC== '{' || oldC== '['){ + oldC2 = oldC; + oldC = c; + } + else if ((c== ']' && oldC2 != '[') || (c== '}' && oldC2 != '{')){ + return 0; + } + + else if (oldC2 == '{' || oldC2 == '[') { + + if (c == '}') { + total += score.get(oldC)*2; + oldC2 = oldC; + oldC = c; + + } + else if (c==']') { + total += score.get(oldC)*3; + oldC2 = oldC; + oldC = c; + } + + else { + return 0; + } + } + +// else if (oldC2 == '[' && c == ']'){ +// total += score.get(oldC)*2; +// oldC2 = oldC; +// oldC = c; +// } + else if (score.containsKey(c)) { + total += score.get(c); + oldC2 = oldC; + oldC = c; + } + + } + + + + return total; } } From aed4e96a8d5617b4c9c64c780f9a86c53a8c1cd9 Mon Sep 17 00:00:00 2001 From: Emanuels Zaurins Date: Wed, 6 Aug 2025 15:36:03 +0200 Subject: [PATCH 2/2] ex completed --- src/main/java/com/booleanuk/Scrabble.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/booleanuk/Scrabble.java b/src/main/java/com/booleanuk/Scrabble.java index ecbad14..30d12b5 100644 --- a/src/main/java/com/booleanuk/Scrabble.java +++ b/src/main/java/com/booleanuk/Scrabble.java @@ -57,6 +57,7 @@ public int score() { } else if ((c== ']' && oldC2 != '[') || (c== '}' && oldC2 != '{')){ return 0; + } else if (oldC2 == '{' || oldC2 == '[') {