Merge remote-tracking branch 'origin/main'

This commit is contained in:
amadoste 2021-11-11 23:37:18 +01:00
commit 6ecda2c63c
7 changed files with 75 additions and 42 deletions

File diff suppressed because one or more lines are too long

View File

@ -25,9 +25,6 @@ public class Text {
* @return returns true if the given paragraph exists and is added successfully
*/
public boolean add(int paragraphNumber, String text) {
if(text.length() < 1) {
return false;
}
if (paragraphExists(paragraphNumber)) {
this.text.add((paragraphNumber - 1), text);
return true;
@ -42,9 +39,6 @@ public class Text {
* @return returns true if the paragraph is added successfully
*/
public boolean add(String text) {
if(text.length() < 1) {
return false;
}
this.text.add(text.replaceAll("[^A-Za-z0-9 .,:?!\"'-]",""));
return true;
}
@ -102,9 +96,12 @@ public class Text {
* @return returns true if the paragraph is changed successfully
*/
public boolean replace(String oldChar, String newChar) {
if(paragraphExists((text.size()))) {
text.set((text.size() - 1), text.get(text.size() - 1).replace(oldChar, newChar));
return true;
}
return false;
}
/**
* This method deletes a specific Paragraph. As a Parameter it uses a int.
@ -127,9 +124,12 @@ public class Text {
* @return True: if paragraph has been deleted.
*/
public boolean del() {
if(paragraphExists(text.size())){
text.remove(text.size() - 1);
return true;
}
return false;
}
/**
* This method creates a ArrayList<String>.

View File

@ -5,7 +5,7 @@ public class TextInput {
private static final Scanner sc = new Scanner(System.in);
public static String[] checkForInput() {
return sc.nextLine().split(" ");
return sc.nextLine().toUpperCase().split(" ");
}
public static String getTextInput() {

View File

@ -12,21 +12,25 @@ public class TextLogik {
textOutput = new TextOutput();
String[] command;
textOutput.userInfoOutput("######################");
textOutput.userInfoOutput("#######################");
textOutput.userInfoOutput("#WELCOME TO THE EDITOR#");
textOutput.userInfoOutput("######################");
textOutput.userInfoOutput("#######################");
do {
textOutput.userInfoOutput("Please enter a Command: ");
command = TextInput.checkForInput();
switch (command[0]) {
case "ADD":
String inputText = "";
while(inputText.length() == 0) {
textOutput.userInfoOutput("Please enter your text: ");
inputText = TextInput.getTextInput();
}
if (command.length == 1) {
checkIfSuccess(text.add(TextInput.getTextInput()));
checkIfSuccess(text.add(inputText));
} else if (isNumeric(command[1])) {
int line = Integer.parseInt(command[1]);
checkIfSuccess(text.add(line, TextInput.getTextInput()));
checkIfSuccess(text.add(line, inputText));
} else {
textOutput.errorInvalidCommand();
}
@ -71,12 +75,18 @@ public class TextLogik {
textOutput.print(text.getText());
break;
case "REPLACE":
String oldChar = "";
while (oldChar.length() == 0) {
textOutput.userInfoOutput("Please enter your text to replace: ");
oldChar = TextInput.getTextInput();
}
textOutput.userInfoOutput("Please enter the new text: ");
String newChar = TextInput.getTextInput();
if (command.length == 1) {
checkIfSuccess(text.replace(TextInput.getTextInput(), TextInput.getTextInput()));
checkIfSuccess(text.replace(oldChar, newChar));
} else if (isNumeric(command[1])) {
int line = Integer.parseInt(command[1]);
checkIfSuccess(text.replace(line, TextInput.getTextInput(), TextInput.getTextInput()));
checkIfSuccess(text.replace(line, oldChar, newChar));
} else {
textOutput.errorInvalidCommand();
}

View File

@ -14,7 +14,10 @@ public class TextOutput {
* @param text the ArrayList which is then formatted into the desired output.
*/
public void print(ArrayList<String> text) {
if (formatRaw) {
if(text.size() == 0) {
errorMissingText();
}
else if (formatRaw) {
printFormated(text);
} else {
toFormat(text);
@ -40,8 +43,8 @@ public class TextOutput {
* @param text the ArrayList which is used for the output.
*/
private void toFormat(ArrayList<String> text) {
int currentLength = 0;
for (String paragraph : text) {
int currentLength = 0;
String[] words = paragraph.split(" ");
int lastWordNumber = words.length;
int currentWordNumber = 0;
@ -49,7 +52,16 @@ public class TextOutput {
currentWordNumber++;
if (word.length()<= columnWidth - currentLength) {
System.out.print(word);
if (!(lastWordNumber == currentWordNumber)) {
}
else {
if(currentWordNumber != 1) {
System.out.println();
currentLength = 0;
}
System.out.print(word);
}
if(!(currentWordNumber == lastWordNumber)) {
System.out.print(" ");
currentLength = currentLength + word.length() + 1;
}
@ -57,16 +69,6 @@ public class TextOutput {
System.out.println();
}
}
else {
System.out.println();
System.out.print(word);
if(!(currentWordNumber == lastWordNumber)) {
System.out.print(" ");
currentLength = word.length() + 1;
}
}
}
System.out.println();
}
}
@ -113,10 +115,15 @@ public class TextOutput {
* @param index ArrayList with words and in which part they have
*/
public void indexOutput(ArrayList<String> index) {
if(index.size() == 0) {
userInfoOutput("index empty");
}
else {
for (String word : index) {
System.out.println(word);
}
}
}
/**
* Method to give out the Error "Invalid Paragraph".
@ -131,4 +138,11 @@ public class TextOutput {
public void errorInvalidCommand() {
System.err.println("Invalid Command");
}
/**
* Method to give out the Error "Missing Text".
*/
public void errorMissingText() {
System.err.println("Missing Text");
}
}

View File

@ -17,7 +17,7 @@ class TextOutputTest {
text.add("Virtute praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, septentr ionesimmensoslongusw ordos.");
text.add("Virtutedasjdhashdkjhakjdhakdshjkashd praecedunt, quod fere cotidianis proeliis cum");
//text.add("ordos.");
//text.add("1234");
text.add("1234");
text.add("12417575147517845 445264565");
text.add(" ");
//text.add("1eeeeeee8597389751");

View File

@ -58,8 +58,11 @@ public class TextTest {
Assertions.assertFalse(txt.replace(3, "alt", "neu"));
Assertions.assertTrue(txt.replace(1, "erste", "zweite"));
Assertions.assertTrue(txt.replace("zweite", "erste"));
Assertions.assertTrue(txt.add("Text Text hallo Text"));
Assertions.assertTrue(txt.replace("Text", "Test"));
Assertions.assertEquals("Das ist der zweite Beispiel Text.", txt.getText().get(0));
Assertions.assertEquals("Das ist der erste Beispiel Text.", txt.getText().get(1));
Assertions.assertEquals("Test Test hallo Test", txt.getText().get(2));
}
/**
@ -92,4 +95,10 @@ public class TextTest {
stringListe = txt.index();
Assertions.assertEquals(0,stringListe.size());
}
@Test
void testing() {
txt.add("");
txt.index();
}
}