Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
a491e627da
|
@ -1,5 +1,3 @@
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Text {
|
public class Text {
|
||||||
|
@ -47,7 +45,7 @@ public class Text {
|
||||||
/**
|
/**
|
||||||
* Method to get all paragraph of the existing instance.
|
* Method to get all paragraph of the existing instance.
|
||||||
*
|
*
|
||||||
* @return returns a ArrayList<String> with all text inside.
|
* @return returns a ArrayList<String> with all paragraphs inside.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ArrayList<String> getText() {
|
public ArrayList<String> getText() {
|
||||||
|
@ -135,20 +133,21 @@ public class Text {
|
||||||
*
|
*
|
||||||
* @return ArrayList<String>
|
* @return ArrayList<String>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ArrayList<String> index() {
|
public ArrayList<String> index() {
|
||||||
wordbook = createWordlist();
|
wordbook = createWordlist();
|
||||||
|
String input;
|
||||||
ArrayList<String> output = new ArrayList<>();
|
ArrayList<String> output = new ArrayList<>();
|
||||||
|
ArrayList<Integer> values;
|
||||||
for (Map.Entry<String, ArrayList<Integer>> entry : wordbook.entrySet()) {
|
for (Map.Entry<String, ArrayList<Integer>> entry : wordbook.entrySet()) {
|
||||||
|
input = "";
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
ArrayList<Integer> values = entry.getValue();
|
values = entry.getValue();
|
||||||
String input = "";
|
|
||||||
if (values.get(0) >= 3) {
|
if (values.get(0) >= 3) {
|
||||||
input += key + " ";
|
input += key + " ";
|
||||||
for (int i = 1; i < values.size(); i++) {
|
for (int i = 1; i < values.size(); i++) {
|
||||||
if(i+1 == values.size()){
|
if (i + 1 == values.size()) {
|
||||||
input += values.get(i)+"";
|
input += values.get(i) + "";
|
||||||
}else {
|
} else {
|
||||||
input += values.get(i) + ", ";
|
input += values.get(i) + ", ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -159,35 +158,37 @@ public class Text {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method counts all Words in text and adds them together with the paragraph where the word is been used to a Hashmap.
|
* This method counts all Words in text and adds the count together with the paragraph where the word is been used to a Hashmap.
|
||||||
*
|
*
|
||||||
* @return HashMap<String, ArrayList < Integer>>
|
* @return HashMap<String, ArrayList < Integer>>
|
||||||
*/
|
*/
|
||||||
private HashMap<String, ArrayList<Integer>> createWordlist() {
|
private HashMap<String, ArrayList<Integer>> createWordlist() {
|
||||||
|
int counter;
|
||||||
|
ArrayList<Integer> numbersList;
|
||||||
|
String firstLetter;
|
||||||
|
String restLetters;
|
||||||
for (int i = 0; i < text.size(); i++) {
|
for (int i = 0; i < text.size(); i++) {
|
||||||
String[] woerter = text.get(i).trim().toLowerCase().split("[ :;.,!?><'/]+");
|
String[] words = text.get(i).trim().toLowerCase().split("[ :;.,!?><'/\n]+");
|
||||||
for (String wort : woerter) {
|
for (String word : words) {
|
||||||
String firstLetter = wort.substring(0,1);
|
counter = 1;
|
||||||
String restLetters = wort.substring(1);
|
firstLetter = word.substring(0, 1);
|
||||||
wort = firstLetter.toUpperCase()+restLetters;
|
restLetters = word.substring(1);
|
||||||
ArrayList<Integer> zahlenListe;
|
word = firstLetter.toUpperCase() + restLetters;
|
||||||
int zähler = 1;
|
if (wordbook.containsKey(word)) {
|
||||||
if (wordbook.containsKey(wort)) {
|
numbersList = wordbook.get(word);
|
||||||
zahlenListe = wordbook.get(wort);
|
counter = numbersList.get(0);
|
||||||
zähler = zahlenListe.get(0);
|
numbersList.remove(0);
|
||||||
zahlenListe.remove(0);
|
numbersList.add(0, counter + 1);
|
||||||
zahlenListe.add(0, zähler + 1);
|
|
||||||
|
|
||||||
if (zahlenListe.get(zahlenListe.size() - 1) < i + 1) {
|
if (numbersList.get(numbersList.size() - 1) < i + 1) {
|
||||||
zahlenListe.add(i + 1);
|
numbersList.add(i + 1);
|
||||||
}
|
}
|
||||||
wordbook.put(wort, zahlenListe);
|
|
||||||
} else {
|
} else {
|
||||||
zahlenListe = new ArrayList<>();
|
numbersList = new ArrayList<>();
|
||||||
zahlenListe.add(1);
|
numbersList.add(counter);
|
||||||
zahlenListe.add(i + 1);
|
numbersList.add(i + 1);
|
||||||
wordbook.put(wort, zahlenListe);
|
|
||||||
}
|
}
|
||||||
|
wordbook.put(word, numbersList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return wordbook;
|
return wordbook;
|
||||||
|
|
|
@ -16,10 +16,13 @@ public class TextTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void indexTest() {
|
void indexTest() {
|
||||||
txt.add("Hallo Hallo zusammen !test!");
|
txt.add("Hallo ?Hallo> zusammen !test!");
|
||||||
txt.add("Hallo, wie zusammen");
|
txt.add("Hallo, wie zusammen");
|
||||||
txt.add("Hallo,wie wie zusammen");
|
txt.add("Hallo! Wie wie zusammen");
|
||||||
sListe= txt.index();
|
sListe= txt.index();
|
||||||
|
for (String str : sListe){
|
||||||
|
System.out.println(str);
|
||||||
|
}
|
||||||
Assertions.assertEquals("Hallo 1, 2, 3",sListe.get(0));
|
Assertions.assertEquals("Hallo 1, 2, 3",sListe.get(0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue