Merge remote-tracking branch 'origin/main'
# Conflicts: # src/TextEditor.java
This commit is contained in:
@@ -1,21 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class SystemInput {
|
||||
|
||||
private Scanner scanner;
|
||||
|
||||
public SystemInput() {
|
||||
scanner = new Scanner("");
|
||||
}
|
||||
|
||||
/**
|
||||
* Method: CheckForInput
|
||||
*/
|
||||
public String[] checkForInput() {
|
||||
|
||||
return new String[] {
|
||||
"Test"
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
+46
-8
@@ -1,9 +1,6 @@
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
import java.util.*;
|
||||
|
||||
public class Text {
|
||||
|
||||
@@ -47,6 +44,12 @@ public class Text {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get all paragraph of the existing instance.
|
||||
*
|
||||
* @return returns a ArrayList<String> with all text inside.
|
||||
*/
|
||||
|
||||
public ArrayList<String> getText() {
|
||||
return text;
|
||||
}
|
||||
@@ -98,6 +101,14 @@ public class Text {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method deletes a specific Paragraph. As a Parameter it uses a int.
|
||||
* If the Parameter is valid it deletes the specific Pararaph otherwise returns false
|
||||
*
|
||||
* @param paragraphNumber
|
||||
* @return False: If the int is not a valid paragraph.
|
||||
* @return True: If the int is a valid paragraph number
|
||||
*/
|
||||
|
||||
public boolean del(int paragraphNumber) {
|
||||
if (paragraphExists(paragraphNumber)) {
|
||||
@@ -107,31 +118,58 @@ public class Text {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method deletes the last paragraph in the text Array.
|
||||
*
|
||||
* @return True: if paragraph has been deleted.
|
||||
*/
|
||||
public boolean del() {
|
||||
text.remove(text.size() - 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method creates a ArrayList<String>.
|
||||
* Every word which is used in the text more than 3 times
|
||||
* will be added to the ArrayList with the paragraphes where the word is been used.
|
||||
*
|
||||
* @return ArrayList<String>
|
||||
*/
|
||||
|
||||
public ArrayList<String> index() {
|
||||
wordbook = createWordlist();
|
||||
ArrayList<String> output = new ArrayList<>();
|
||||
for (Map.Entry<String, ArrayList<Integer>> entry : wordbook.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
ArrayList<Integer> values = entry.getValue();
|
||||
String input = "";
|
||||
if (values.get(0) >= 3) {
|
||||
output.add(key);
|
||||
for (int value : values) {
|
||||
output.add(String.valueOf(value));
|
||||
input += key + " ";
|
||||
for (int i = 1; i < values.size(); i++) {
|
||||
if(i+1 == values.size()){
|
||||
input += values.get(i)+"";
|
||||
}else {
|
||||
input += values.get(i) + ", ";
|
||||
}
|
||||
}
|
||||
output.add(input);
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method counts all Words in text and adds them together with the paragraph where the word is been used to a Hashmap.
|
||||
*
|
||||
* @return HashMap<String, ArrayList < Integer>>
|
||||
*/
|
||||
private HashMap<String, ArrayList<Integer>> createWordlist() {
|
||||
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)) {
|
||||
@@ -147,7 +185,7 @@ public class Text {
|
||||
} else {
|
||||
zahlenListe = new ArrayList<>();
|
||||
zahlenListe.add(1);
|
||||
zahlenListe.add(zähler);
|
||||
zahlenListe.add(i + 1);
|
||||
wordbook.put(wort, zahlenListe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class TextInput {
|
||||
|
||||
private static Scanner sc = new Scanner("");
|
||||
|
||||
public static String[] checkForInput() {
|
||||
return sc.nextLine().split("");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
public class TextLogik {
|
||||
private Text text;
|
||||
|
||||
public TextLogik() {
|
||||
text = new Text();
|
||||
String command[];
|
||||
|
||||
do {
|
||||
command = TextInput.checkForInput();
|
||||
|
||||
switch (command[0]) {
|
||||
case "ADD":
|
||||
break;
|
||||
case "REMOVE":
|
||||
break;
|
||||
default:
|
||||
System.out.println("Command not found. Try again");
|
||||
break;
|
||||
}
|
||||
|
||||
} while ("exit".equals(command[0]));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user