From 4e6f12134f18fd60041d0ec6115e814c8bde5aa0 Mon Sep 17 00:00:00 2001 From: Zach Date: Mon, 9 Aug 2021 15:30:58 -0400 Subject: [PATCH] Lab Completed. This hurt --- Hurtlocker.iml | 18 ---- pom.xml | 12 +++ src/Test/MainTest.java | 48 ++++++++++ src/main/java/Grocery.java | 39 ++++++++ src/main/java/JerkSONMap.java | 6 ++ src/main/java/Main.java | 171 +++++++++++++++++++++++++++++++++- target/classes/Main.class | Bin 1162 -> 5891 bytes 7 files changed, 274 insertions(+), 20 deletions(-) delete mode 100644 Hurtlocker.iml create mode 100644 src/Test/MainTest.java create mode 100644 src/main/java/Grocery.java create mode 100644 src/main/java/JerkSONMap.java diff --git a/Hurtlocker.iml b/Hurtlocker.iml deleted file mode 100644 index 22967e8..0000000 --- a/Hurtlocker.iml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 39639cd..de7abea 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,18 @@ io.zipcoder HurtLocker 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 11 + 11 + + + + diff --git a/src/Test/MainTest.java b/src/Test/MainTest.java new file mode 100644 index 0000000..910c44c --- /dev/null +++ b/src/Test/MainTest.java @@ -0,0 +1,48 @@ +import org.junit.Test; + +public class MainTest { + + Main test = new Main(); + +// @Test +// public void milkChangeTest() { +// String result = test.changeMilk(); +// System.out.println(result); +// } + + @Test + public void poundNewLineTest() { + String result = test.poundToNewLine(test.correctSeparator()); + System.out.println(result); + } + + @Test // weird output + public void correctedSeparatorTest() { + String result = test.correctSeparator(); + System.out.println(result); + } + +// @Test +// public void applesChangeTest() { +// String result = test.changeApples(); +// System.out.println(result); +// } + + @Test + public void entireFormattingTest() { + String result = test.poundToNewLine(test.correctSeparator()); + String result1 = test.changeApples(result); + String result2 = test.changeBread(result1); + String result3 = test.changeCookies(result2); + String result4 = test.changeMilk(result3); + String result5 = test.nameChange(result4); + String result6 = test.priceChange(result5); + System.out.println(result6); + } + + @Test + public void printTest() { + String result = test.doingTheFormatting(); + System.out.println(result); + } +} diff --git a/src/main/java/Grocery.java b/src/main/java/Grocery.java new file mode 100644 index 0000000..8c1b65f --- /dev/null +++ b/src/main/java/Grocery.java @@ -0,0 +1,39 @@ +import java.text.SimpleDateFormat; + +public class Grocery { + + private String name; + private Double price; + private SimpleDateFormat date; + private final String food = "Food"; + + public Grocery(String name, Double price, SimpleDateFormat date) { + this.name = name; + this.price = price; + this.date = date; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public SimpleDateFormat getDate() { + return date; + } + + public void setDate(SimpleDateFormat date) { + this.date = date; + } +} diff --git a/src/main/java/JerkSONMap.java b/src/main/java/JerkSONMap.java new file mode 100644 index 0000000..cf7c280 --- /dev/null +++ b/src/main/java/JerkSONMap.java @@ -0,0 +1,6 @@ +public class JerkSONMap { + + public String findalphabetChars(){ + return null; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 632942a..a636882 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,12 @@ import org.apache.commons.io.IOUtils; import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class Main { + Integer counter = 0; + public String readRawDataToString() throws Exception{ ClassLoader classLoader = getClass().getClassLoader(); String result = IOUtils.toString(classLoader.getResourceAsStream("RawData.txt")); @@ -11,7 +15,170 @@ public String readRawDataToString() throws Exception{ public static void main(String[] args) throws Exception{ String output = (new Main()).readRawDataToString(); - System.out.println(output); + // String actualResult = changeCookies(changeApples(changeBread(changeMilk(output)))); + // System.out.println(actualResult); + + } + + public String changeMilk (String input) { + try { + Pattern pattern = Pattern.compile("milk", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + String milk = matcher.replaceAll("Milk"); + + return milk; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String changeBread (String input) { + try { + Pattern pattern = Pattern.compile("bread", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + String milk = matcher.replaceAll("Bread"); + + return milk; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String changeCookies (String input) { + try { + Pattern pattern = Pattern.compile("c[o0][o0]kies", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + String milk = matcher.replaceAll("Cookies"); + + return milk; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String changeApples (String input) { + try { + Pattern pattern = Pattern.compile("apples", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + String milk = matcher.replaceAll("Apples"); + + return milk; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String poundToNewLine(String input) { + try { + Pattern pattern = Pattern.compile("##"); + Matcher matcher = pattern.matcher(input); + String result = matcher.replaceAll("\n"); + return result; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String correctSeparator () { + // "[!@^%*]" + try { + String jawn = readRawDataToString(); + Pattern patter = Pattern.compile("[!@^%*]"); + Matcher matcher = patter.matcher(jawn); + String result = matcher.replaceAll(";"); + return result; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String nameChange(String input) { + try { + Pattern pattern = Pattern.compile("name", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + String milk = matcher.replaceAll("Name"); + + return milk; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + public String priceChange(String input) { + try { + Pattern pattern = Pattern.compile("price", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(input); + String milk = matcher.replaceAll("Price"); + + return milk; + } catch (Exception e) { + throw new UnsupportedOperationException(); + } + } + + // we can use a "scanner" something to check when the (';' <- those bois) come up + + public int findGroceries(String input) { + Integer holdingValue = 0; + Boolean checkVal = false; + Pattern pattern = Pattern.compile(input, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(readyForFormatting()); + while(!checkVal) { + if (!matcher.find()) { + checkVal = true; + continue; + } + holdingValue++; + } + return holdingValue; + } + + + public String doingTheFormatting() { + String result = + "ame: Milk seen: " + findGroceries("milk") + " times\n" + + "============= =============\n" + + "Price: 3.23 seen: " + findGroceries("milk;price:3.23") + " times\n" + + "------------- -------------\n" + + "Price: 1.23 seen: " + findGroceries("milk;price:1.23") + " times\n\n" + + + "name: Bread seen: " + findGroceries("bread") + " times\n" + + "============= =============\n" + + "Price: 1.23 seen: " + findGroceries("bread") + " times\n" + + "------------- -------------\n\n" + + + "name: Cookies seen: " + findGroceries("cookies") + " times\n" + + "============= =============\n" + + "Price: 2.25 seen: " + findGroceries("cookies") + " times\n" + + "------------- -------------\n\n" + + + "name: Apples seen: " + (findGroceries("apples;price:0.25") + findGroceries("apples;price:0.23")) + " times\n" + + "============= =============\n" + + "Price: 0.25 seen: " + findGroceries("price:0.25") + " times\n" + + "------------- -------------\n" + + "Price: 0.23 seen: " + findGroceries("price:0.23") + " times\n\n" + + + "Errors seen: " + countingErrors() + " times"; + return result; + } + + public int countingErrors() { + int counter = 0; + // beware +// counter += findGroceries("apples") - (findGroceries("apples;price:0.25") + findGroceries("apples;price:0.23")); + counter += findGroceries("Name:;"); + counter += findGroceries("milk") - (findGroceries("milk;price:3.23") + findGroceries("milk;price:1.23")); + return counter; + } + public String readyForFormatting() { + String result = poundToNewLine(correctSeparator()); + String result1 = changeApples(result); + String result2 = changeBread(result1); + String result3 = changeCookies(result2); + String result4 = changeMilk(result3); + String result5 = nameChange(result4); + String result6 = priceChange(result5); + return result6; } -} +} \ No newline at end of file diff --git a/target/classes/Main.class b/target/classes/Main.class index c9d3858bc278f548c9eaabc471ed4e0ba034dcf0..060acf0683ee1a84761c81ab19b35c5597356927 100644 GIT binary patch literal 5891 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

%p>AB zR^SmN@EESb<6PSlEDKNCv2YIB5jPeo0u`lz|0ocj-tPWo7+JA^?#6Yq;<42Nljxkk zn0*cTg-8C^!S(nSX9>ovjdQ`5S8zo# z&Ty?s#TlHn!*K@ZJ&91flQ)<5Cc<&SnM5KI@8lI`fE1Byp;=&?d5K{;#jw20u)M-u zdllVy4a;#Fm!o2X+Tpl!K{cV*4MQt>U@;&KoVfsH_8K{V77no&qLp?WW-m-z%{and mgccidls%cxTkK%mia+rg<V1DN<6zJ+n^Rs&{|_3!o1`u}x!SACzI`|1b|rf2k+kr|xKHh`iw@)0$g`+uTv)R-!ix zQ4&>?-9&TOaE}?yeZvDDD%_>0-ZT^`X=V*`JkmTi%(I{v-i%&HVIyj8gv&2CM^-fAkmjX0TaMD4cv>}#!74hdJ^wv%{E;j~_fyj1Jy>#gwFPQ96|COdJo zHS^E*e_ElpZBauSl)4|hVrPxBasVUu0tbccD)ES9p`a2RDDR^_$s@zC#K9iva#Y@? zUqC=XGG#ZGDl2{==m-|eDVY?fRtemcfiDa$O@0)<@0F)xi!`2m0ok7EcwhL})RQJ7 z924_EM57#+I3^lbm=mHn$thuM%VoigVBs73`95Aswzh{~Ny!~dpYNFuk&`t8*(bDX ZjP!M!=8R-HnPpu1s6%~}T*(f7?hnzsSK