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.*;
|
||||
|
||||
public class Text {
|
||||
|
@ -47,7 +45,7 @@ public class Text {
|
|||
/**
|
||||
* 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() {
|
||||
|
@ -135,20 +133,21 @@ public class Text {
|
|||
*
|
||||
* @return ArrayList<String>
|
||||
*/
|
||||
|
||||
public ArrayList<String> index() {
|
||||
wordbook = createWordlist();
|
||||
String input;
|
||||
ArrayList<String> output = new ArrayList<>();
|
||||
ArrayList<Integer> values;
|
||||
for (Map.Entry<String, ArrayList<Integer>> entry : wordbook.entrySet()) {
|
||||
input = "";
|
||||
String key = entry.getKey();
|
||||
ArrayList<Integer> values = entry.getValue();
|
||||
String input = "";
|
||||
values = entry.getValue();
|
||||
if (values.get(0) >= 3) {
|
||||
input += key + " ";
|
||||
for (int i = 1; i < values.size(); i++) {
|
||||
if(i+1 == values.size()){
|
||||
input += values.get(i)+"";
|
||||
}else {
|
||||
if (i + 1 == values.size()) {
|
||||
input += values.get(i) + "";
|
||||
} else {
|
||||
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>>
|
||||
*/
|
||||
private HashMap<String, ArrayList<Integer>> createWordlist() {
|
||||
int counter;
|
||||
ArrayList<Integer> numbersList;
|
||||
String firstLetter;
|
||||
String restLetters;
|
||||
for (int i = 0; i < text.size(); i++) {
|
||||
String[] woerter = text.get(i).trim().toLowerCase().split("[ :;.,!?><'/]+");
|
||||
for (String wort : woerter) {
|
||||
String firstLetter = wort.substring(0,1);
|
||||
String restLetters = wort.substring(1);
|
||||
wort = firstLetter.toUpperCase()+restLetters;
|
||||
ArrayList<Integer> zahlenListe;
|
||||
int zähler = 1;
|
||||
if (wordbook.containsKey(wort)) {
|
||||
zahlenListe = wordbook.get(wort);
|
||||
zähler = zahlenListe.get(0);
|
||||
zahlenListe.remove(0);
|
||||
zahlenListe.add(0, zähler + 1);
|
||||
String[] words = text.get(i).trim().toLowerCase().split("[ :;.,!?><'/\n]+");
|
||||
for (String word : words) {
|
||||
counter = 1;
|
||||
firstLetter = word.substring(0, 1);
|
||||
restLetters = word.substring(1);
|
||||
word = firstLetter.toUpperCase() + restLetters;
|
||||
if (wordbook.containsKey(word)) {
|
||||
numbersList = wordbook.get(word);
|
||||
counter = numbersList.get(0);
|
||||
numbersList.remove(0);
|
||||
numbersList.add(0, counter + 1);
|
||||
|
||||
if (zahlenListe.get(zahlenListe.size() - 1) < i + 1) {
|
||||
zahlenListe.add(i + 1);
|
||||
if (numbersList.get(numbersList.size() - 1) < i + 1) {
|
||||
numbersList.add(i + 1);
|
||||
}
|
||||
wordbook.put(wort, zahlenListe);
|
||||
} else {
|
||||
zahlenListe = new ArrayList<>();
|
||||
zahlenListe.add(1);
|
||||
zahlenListe.add(i + 1);
|
||||
wordbook.put(wort, zahlenListe);
|
||||
numbersList = new ArrayList<>();
|
||||
numbersList.add(counter);
|
||||
numbersList.add(i + 1);
|
||||
}
|
||||
wordbook.put(word, numbersList);
|
||||
}
|
||||
}
|
||||
return wordbook;
|
||||
|
|
|
@ -16,10 +16,13 @@ public class TextTest {
|
|||
|
||||
@Test
|
||||
void indexTest() {
|
||||
txt.add("Hallo Hallo zusammen !test!");
|
||||
txt.add("Hallo ?Hallo> zusammen !test!");
|
||||
txt.add("Hallo, wie zusammen");
|
||||
txt.add("Hallo,wie wie zusammen");
|
||||
txt.add("Hallo! Wie wie zusammen");
|
||||
sListe= txt.index();
|
||||
Assertions.assertEquals("Hallo 1, 2, 3",sListe.get(0));
|
||||
for (String str : sListe){
|
||||
System.out.println(str);
|
||||
}
|
||||
Assertions.assertEquals("Hallo 1, 2, 3",sListe.get(0));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue