From c1d83bc33b97fcfe651931ed1256d7c6f081e687 Mon Sep 17 00:00:00 2001 From: John Date: Sat, 10 Sep 2022 11:44:07 +0200 Subject: [PATCH 1/4] branch test, erster commit --- .idea/dbnavigator.xml | 468 ++++++++++++++++++ .idea/runConfigurations.xml | 10 + .../src/main/java/PigLatinTranslator.java | 1 + .../src/test/java/AcronymTest.java | 4 +- 4 files changed, 481 insertions(+), 2 deletions(-) create mode 100644 .idea/dbnavigator.xml create mode 100644 .idea/runConfigurations.xml diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 0000000..00b4092 --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/clean-code-challanges/src/main/java/PigLatinTranslator.java b/clean-code-challanges/src/main/java/PigLatinTranslator.java index 602a04d..8fae54e 100644 --- a/clean-code-challanges/src/main/java/PigLatinTranslator.java +++ b/clean-code-challanges/src/main/java/PigLatinTranslator.java @@ -18,6 +18,7 @@ public class PigLatinTranslator { public String translate(String englishPhrase) { + "Hallo Test" return null; } } diff --git a/clean-code-challanges/src/test/java/AcronymTest.java b/clean-code-challanges/src/test/java/AcronymTest.java index 4fec6c2..3c99e9c 100644 --- a/clean-code-challanges/src/test/java/AcronymTest.java +++ b/clean-code-challanges/src/test/java/AcronymTest.java @@ -2,8 +2,8 @@ import org.junit.Test; import static org.junit.Assert.assertEquals; - -@Ignore +//ignore wegnehmen +//@Ignore public class AcronymTest { @Test From 90a90f207347feee001f5ab73f05376a095e4e52 Mon Sep 17 00:00:00 2001 From: John Date: Tue, 13 Sep 2022 01:10:12 +0200 Subject: [PATCH 2/4] branch test, zweiter commit --- .../src/main/java/Anagram.java | 15 +- .../src/main/java/PigLatinTranslator.java | 143 ++++++++++++++++- clean-code-challanges/src/test/java/Main.java | 147 ++++++++++++++++++ 3 files changed, 296 insertions(+), 9 deletions(-) create mode 100644 clean-code-challanges/src/test/java/Main.java diff --git a/clean-code-challanges/src/main/java/Anagram.java b/clean-code-challanges/src/main/java/Anagram.java index 9930cd0..bbdfd92 100644 --- a/clean-code-challanges/src/main/java/Anagram.java +++ b/clean-code-challanges/src/main/java/Anagram.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; import java.util.List; /** @@ -7,11 +8,23 @@ */ public class Anagram { - public Anagram(String word) { + public String word; + public Anagram(String word) { + this.word = word; } + + public List match(List candidates) { + + ArrayList liste1 = new ArrayList(); + liste1.add("enlist"); + liste1.add("google"); + liste1.add("inlets"); + liste1.add("banana"); + + return null; } } diff --git a/clean-code-challanges/src/main/java/PigLatinTranslator.java b/clean-code-challanges/src/main/java/PigLatinTranslator.java index 8fae54e..39678c2 100644 --- a/clean-code-challanges/src/main/java/PigLatinTranslator.java +++ b/clean-code-challanges/src/main/java/PigLatinTranslator.java @@ -1,24 +1,151 @@ /** * Implement a program that translates from English to Pig Latin. - * + *

* Pig Latin is a made-up children's language that's intended to be confusing. It obeys a few simple rules (below), * but when it's spoken quickly it's really difficult for non-children (and non-native speakers) to understand. - * + *

* Rule 1: If a word begins with a vowel sound, add an "ay" sound to the end of the word. - * Please note that "xr" and "yt" at the beginning of a word make vowel sounds (e.g. "xray" -> "xrayay", "yttria" -> "yttriaay"). + * Please note that "xr" and "yt" at the beginning of a word make vowel sounds (e.g. "xray" -> "xrayay", "yttria" -> "yttriaay"). * Rule 2: If a word begins with a consonant sound, move it to the end of the word and then add an "ay" sound to the end of the word. - * Consonant sounds can be made up of multiple consonants, a.k.a. a consonant cluster (e.g. "chair" -> "airchay"). + * Consonant sounds can be made up of multiple consonants, a.k.a. a consonant cluster (e.g. "chair" -> "airchay"). * Rule 3: If a word starts with a consonant sound followed by "qu", move it to the end of the word, and then add an "ay" sound to the end of the word (e.g. "square" -> "aresquay"). * Rule 4: If a word contains a "y" after a consonant cluster or as the second letter in a two letter word it makes a vowel sound (e.g. "rhythm" -> "ythmrhay", "my" -> "ymay"). - * + *

* There are a few more rules for edge cases, and there are regional variants too. - * + *

* See http://en.wikipedia.org/wiki/Pig_latin for more details. */ public class PigLatinTranslator { + public String translateWord(String splitWordFromEnglishPhrase) { + String engWord = splitWordFromEnglishPhrase; + + String strConsonat = "bcdfghjklmnpqrstvwxyz"; + + String pigWord = ""; + + + if (engWord.length() == 1) { + if(findVowelFirstChar(engWord)==true){ + pigWord = engWord + "ay"; + } + else{ + pigWord = engWord; + } + } else if (engWord.length() == 2) { + System.out.println("xr: "+find_xr_yt_BeginningOfWord(engWord)); + if(findVowelFirstChar(engWord)==true || find_xr_yt_BeginningOfWord(engWord) == true ){ + pigWord = engWord + "ay"; + } + else{ + pigWord = engWord; + } + } else if(engWord.length()>=3){ + if(findVowelFirstChar(engWord)==true||find_xr_yt_BeginningOfWord(engWord)==true){ + pigWord = engWord + "ay"; + } + else{ + pigWord = engWord; + } + + if(findConsonantFirstChar(engWord)== true){ + char first = engWord.charAt(0);//engWord.substring(engWord.charAt(0),1); + char last = engWord.charAt(engWord.length()-1); + System.out.println("first: "+first); + System.out.println("last: "+last); + + pigWord = engWord.substring(1,engWord.length())+first+"ay"; + System.out.println("piggy:" + pigWord); + System.out.println("Consonant:" + findConsonantFirstChar(engWord)); + } + + } + + + return pigWord; + } + public boolean findConsonantFirstChar(String engWord){ + boolean bIsConsonantFirstChar = false; + String strConsonant = "bcdfghjklmnpqrstvwxyz"; + char charfirstCharakter = engWord.charAt(0); + for (int i = 0; i < strConsonant.length(); i++) { + if (engWord.charAt(0) == (strConsonant.charAt(i))) { + bIsConsonantFirstChar = true; + break; + } else { + bIsConsonantFirstChar = false; + } + } + return bIsConsonantFirstChar; + } + public String translate(String englishPhrase) { - "Hallo Test" - return null; + String[] arrEnglishPhraseSplit = englishPhrase.split(" "); + String pigPhrase = ""; + + for (int i = 0; i < arrEnglishPhraseSplit.length - 1; i++) { + pigPhrase += String.join("", translateWord(arrEnglishPhraseSplit[i]), "_"); + } + pigPhrase += translateWord(arrEnglishPhraseSplit[arrEnglishPhraseSplit.length - 1]); + + return pigPhrase; + } + + + public boolean findVowelFirstChar(String engWord) { + boolean bIsFirstCharakterVowel = false; + String strVowel = "aeiou"; + char charfirstCharakter = engWord.charAt(0); + for (int i = 0; i < strVowel.length(); i++) { + if (engWord.charAt(0) == (strVowel.charAt(i))) { + bIsFirstCharakterVowel = true; + break; + } else { + bIsFirstCharakterVowel = false; + } + } + return bIsFirstCharakterVowel; + } + + + public boolean find_xr_yt_BeginningOfWord(String engWord){ + boolean bIs_xr_yt_BeginningOfWord = false; + + for(int i = 1; i " + strtranslate + " <--"); + } + + + public static String translate(String englishPhrase) { + String[] arrEnglishPhraseSplit = englishPhrase.split(" "); + String pigPhrase = ""; + + for (int i = 0; i < arrEnglishPhraseSplit.length - 1; i++) { + pigPhrase += String.join("", translateWord(arrEnglishPhraseSplit[i]), "_"); + } + pigPhrase += translateWord(arrEnglishPhraseSplit[arrEnglishPhraseSplit.length - 1]); + + return pigPhrase; + } + + public static String translateWord(String engWord) { + String pigWord = ""; + String strVowel = "aeiou"; + + + if (engWord.length() == 1) { + if(findVowelFirstChar(engWord)==true){ + pigWord = engWord + "ay"; + } + else{ + pigWord = engWord; + } + } else if (engWord.length() == 2) { + System.out.println("xr: "+find_xr_yt_BeginningOfWord(engWord)); + if(findVowelFirstChar(engWord)==true || find_xr_yt_BeginningOfWord(engWord) == true ){ + pigWord = engWord + "ay"; + } + else{ + pigWord = engWord; + } + } else if(engWord.length()>=3){ + if(findVowelFirstChar(engWord)==true||find_xr_yt_BeginningOfWord(engWord)==true){ + pigWord = engWord + "ay"; + } + else{ + pigWord = engWord; + } + + if(findConsonantFirstChar(engWord)== true){ + char first = engWord.charAt(0);//engWord.substring(engWord.charAt(0),1); + char last = engWord.charAt(engWord.length()-1); + System.out.println("first: "+first); + System.out.println("last: "+last); + + pigWord = engWord.substring(1,engWord.length())+first+"ay"; + System.out.println("piggy:" + pigWord); + System.out.println("Consonant:" + findConsonantFirstChar(engWord)); + } + + } + + + return pigWord; + } + + public static boolean findConsonantFirstChar(String engWord){ + boolean bIsConsonantFirstChar = false; + String strConsonant = "bcdfghjklmnpqrstvwxyz"; + char charfirstCharakter = engWord.charAt(0); + for (int i = 0; i < strConsonant.length(); i++) { + if (engWord.charAt(0) == (strConsonant.charAt(i))) { + bIsConsonantFirstChar = true; + break; + } else { + bIsConsonantFirstChar = false; + } + } + return bIsConsonantFirstChar; + } + + public static boolean find_xr_yt_BeginningOfWord(String engWord){ + boolean bIs_xr_yt_BeginningOfWord = false; + + for(int i = 1; i Date: Mon, 19 Sep 2022 02:06:45 +0200 Subject: [PATCH 3/4] acronym zwei test fail, nicht fertig --- .../src/main/java/Acronym.java | 26 ++++++++- .../src/main/java/Anagram.java | 3 +- .../src/main/java/MainAcronym.java | 55 +++++++++++++++++++ .../src/main/java/MainAnagram.java | 42 ++++++++++++++ .../src/main/java/PigLatinTranslator.java | 23 ++++---- 5 files changed, 135 insertions(+), 14 deletions(-) create mode 100644 clean-code-challanges/src/main/java/MainAcronym.java create mode 100644 clean-code-challanges/src/main/java/MainAnagram.java diff --git a/clean-code-challanges/src/main/java/Acronym.java b/clean-code-challanges/src/main/java/Acronym.java index 5e00939..6394b35 100644 --- a/clean-code-challanges/src/main/java/Acronym.java +++ b/clean-code-challanges/src/main/java/Acronym.java @@ -3,16 +3,36 @@ * * Techies love their TLA (Three Letter Acronyms)! * - * Help generate some jargon by writing a program that converts a long name like Portable Network Graphics to its acronym (PNG). + * Help generate some jargon by writing a program that converts a long name like + * Portable Network Graphics to its acronym (PNG). */ class Acronym { - Acronym(String phrase) { + String phrase; + Acronym(String phrase) { + this.phrase = phrase; } String get() { - return null; + String acronym = ""; + + char[] arrChar = new char[phrase.length()]; + + for (int i = 0; i < phrase.length(); i++) { + arrChar[i] = phrase.charAt(i); + } + + acronym += arrChar[0]; + + for(int i = 1; i arr = new ArrayList<>(); + String[] arr1= phrase.split(" "); + System.out.println("l: "+arr1.length); + for(int i = 0; i liste1 = new ArrayList(); + liste1.add("enlist"); + liste1.add("google"); + liste1.add("inlets"); + liste1.add("banana"); + + System.out.println(match(liste1)); + + } + + public String alphabet(List candidates){ + String alphabet = "abcdefghijklnmopqrstuvwxyz"; + + + return null; + } + + public static List match(List candidates) { + + System.out.println("In übergebener Liste enthalten: "); + for(int i = 0; i list2 = new ArrayList(); + list2.add("g"); + + + return list2; + } + +} diff --git a/clean-code-challanges/src/main/java/PigLatinTranslator.java b/clean-code-challanges/src/main/java/PigLatinTranslator.java index 39678c2..653fa84 100644 --- a/clean-code-challanges/src/main/java/PigLatinTranslator.java +++ b/clean-code-challanges/src/main/java/PigLatinTranslator.java @@ -17,6 +17,19 @@ */ public class PigLatinTranslator { + public String translate(String englishPhrase) { + String[] arrEnglishPhraseSplit = englishPhrase.split(" "); + String pigPhrase = ""; + + for (int i = 0; i < arrEnglishPhraseSplit.length - 1; i++) { + pigPhrase += String.join("", translateWord(arrEnglishPhraseSplit[i]), " "); + } + pigPhrase += translateWord(arrEnglishPhraseSplit[arrEnglishPhraseSplit.length - 1]); + + return pigPhrase; + } + + public String translateWord(String splitWordFromEnglishPhrase) { String engWord = splitWordFromEnglishPhrase; @@ -79,17 +92,7 @@ public boolean findConsonantFirstChar(String engWord){ return bIsConsonantFirstChar; } - public String translate(String englishPhrase) { - String[] arrEnglishPhraseSplit = englishPhrase.split(" "); - String pigPhrase = ""; - - for (int i = 0; i < arrEnglishPhraseSplit.length - 1; i++) { - pigPhrase += String.join("", translateWord(arrEnglishPhraseSplit[i]), "_"); - } - pigPhrase += translateWord(arrEnglishPhraseSplit[arrEnglishPhraseSplit.length - 1]); - return pigPhrase; - } public boolean findVowelFirstChar(String engWord) { From 7b839adf3339962197935915628532f13e2cb30c Mon Sep 17 00:00:00 2001 From: John Date: Mon, 26 Sep 2022 01:13:25 +0200 Subject: [PATCH 4/4] =?UTF-8?q?IsoGramm=20fertig=20aber=20nicht=20CleanCod?= =?UTF-8?q?e-m=C3=A4ssig...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/IsogramChecker.java | 54 ++++++++++++++++- .../src/main/java/MainIsogramm.java | 59 +++++++++++++++++++ .../src/test/java/IsogramCheckerTest.java | 3 +- src/naming/IntentionalNames.java | 2 + 4 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 clean-code-challanges/src/main/java/MainIsogramm.java diff --git a/clean-code-challanges/src/main/java/IsogramChecker.java b/clean-code-challanges/src/main/java/IsogramChecker.java index 00d4c74..4f1731d 100644 --- a/clean-code-challanges/src/main/java/IsogramChecker.java +++ b/clean-code-challanges/src/main/java/IsogramChecker.java @@ -13,10 +13,58 @@ * * The word isograms, however, is not an isogram, because the s repeats. */ -class IsogramChecker { +public class IsogramChecker { - boolean isIsogram(String phrase) { - throw new UnsupportedOperationException("Delete this statement and write your own implementation."); +// String phrase; +//// +// IsogramChecker(String phrase){ +// this.phrase = phrase; +// } + + public boolean isIsogram(String phrase) {//static + //throw new UnsupportedOperationException("Delete this statement and write your own implementation."); + String phrase1 = phrase.toLowerCase(); + boolean isIsogram = false; + //int hilfszahl = 0; + int counter = 0; + char derBuchstabe = ' '; + + //td lowercase phrase + //todo wenn grösser zwei, nur, wenn es eine leertaste oder ein bindestrich ist + + String phraseCopy = phrase1; + for(int i = 0; i counter) { + counter = hilfszahl; + //derBuchstabe = derBuchstabe+phrase.charAt(i); + // System.out.println("derBuchstabdfffe: " + phrase.charAt(i)); + derBuchstabe = phrase1.charAt(i); + } + } + + if(derBuchstabe=='-'&&counter>1 || (derBuchstabe==' '&&counter>1) || !(counter>1)){ + isIsogram=true; + }else{ + isIsogram = false; + } +// if(counter>1 || !(derBuchstabe=='-'&&counter>1)){//(Character.isLetter(derBuchstabe))){// Character.isDefined(derBuchstabe)=='-'){//|| (counter>1 && derBuchstabe='-')){ +// isIsogram = false; +// }else{ +// isIsogram = true; +// } + + // System.out.println("derBuchstabe: " + derBuchstabe); + // System.out.println("counter: "+counter); + + return isIsogram; } } diff --git a/clean-code-challanges/src/main/java/MainIsogramm.java b/clean-code-challanges/src/main/java/MainIsogramm.java new file mode 100644 index 0000000..2d75e5d --- /dev/null +++ b/clean-code-challanges/src/main/java/MainIsogramm.java @@ -0,0 +1,59 @@ +/** + * @author - John Schmidt + * 25.09.2022, 23:52 + */ +public class MainIsogramm { + public static void main(String[] args) { + + String phrase = "sixyearoldd"; + + System.out.println(findIsogramm(phrase)); + + } + + public static boolean findIsogramm(String phrase){ + //String word = phrase + " hello";- + String phrase1 = phrase.toLowerCase(); + System.out.println(phrase1); + boolean isIsogram = false; + //int hilfszahl = 0; + int counter = 0; + char derBuchstabe = ' '; + + String phraseCopy = phrase1; + for(int i = 0; i counter) { + counter = hilfszahl; + //derBuchstabe = derBuchstabe+phrase.charAt(i); + // System.out.println("derBuchstabdfffe: " + phrase.charAt(i)); + derBuchstabe = phrase1.charAt(i); + } + } + + if(derBuchstabe=='-'&&counter>1 || !(counter>1)){ + isIsogram=true; + }else{ + isIsogram = false; + } + +// if(counter>1|| (derBuchstabe=='-'&&counter>1)){ +// isIsogram = false; +// }else{ +// isIsogram = true; +// } + + System.out.println("derBuchstabe: " + derBuchstabe); + System.out.println("counter: "+counter); + + return isIsogram; + } + +} diff --git a/clean-code-challanges/src/test/java/IsogramCheckerTest.java b/clean-code-challanges/src/test/java/IsogramCheckerTest.java index e6808f9..f83f8ca 100644 --- a/clean-code-challanges/src/test/java/IsogramCheckerTest.java +++ b/clean-code-challanges/src/test/java/IsogramCheckerTest.java @@ -4,12 +4,13 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -@Ignore +//@Ignore public class IsogramCheckerTest { @Test public void testEmptyString() { IsogramChecker iso = new IsogramChecker(); + assertTrue(iso.isIsogram("")); } diff --git a/src/naming/IntentionalNames.java b/src/naming/IntentionalNames.java index ebd875f..d0f1cc4 100644 --- a/src/naming/IntentionalNames.java +++ b/src/naming/IntentionalNames.java @@ -7,6 +7,8 @@ // Kapitel 2.2 public class IntentionalNames { +} + /* * Ausgangslage *