Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
6ecda2c63c
File diff suppressed because one or more lines are too long
|
@ -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,8 +96,11 @@ public class Text {
|
|||
* @return returns true if the paragraph is changed successfully
|
||||
*/
|
||||
public boolean replace(String oldChar, String newChar) {
|
||||
text.set((text.size() - 1), text.get(text.size() - 1).replace(oldChar, newChar));
|
||||
return true;
|
||||
if(paragraphExists((text.size()))) {
|
||||
text.set((text.size() - 1), text.get(text.size() - 1).replace(oldChar, newChar));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -127,8 +124,11 @@ public class Text {
|
|||
* @return True: if paragraph has been deleted.
|
||||
*/
|
||||
public boolean del() {
|
||||
text.remove(text.size() - 1);
|
||||
return true;
|
||||
if(paragraphExists(text.size())){
|
||||
text.remove(text.size() - 1);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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":
|
||||
textOutput.userInfoOutput("Please enter your text: ");
|
||||
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,13 +75,19 @@ public class TextLogik {
|
|||
textOutput.print(text.getText());
|
||||
break;
|
||||
case "REPLACE":
|
||||
textOutput.userInfoOutput("Please enter your text to replace: ");
|
||||
if (command.length == 1){
|
||||
checkIfSuccess(text.replace(TextInput.getTextInput(), TextInput.getTextInput()));
|
||||
}else if(isNumeric(command[1])) {
|
||||
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(oldChar, newChar));
|
||||
} else if (isNumeric(command[1])) {
|
||||
int line = Integer.parseInt(command[1]);
|
||||
checkIfSuccess(text.replace(line, TextInput.getTextInput(), TextInput.getTextInput()));
|
||||
}else {
|
||||
checkIfSuccess(text.replace(line, oldChar, newChar));
|
||||
} else {
|
||||
textOutput.errorInvalidCommand();
|
||||
}
|
||||
|
||||
|
@ -101,9 +111,9 @@ public class TextLogik {
|
|||
}
|
||||
|
||||
private void checkIfSuccess(boolean method) {
|
||||
if(method) {
|
||||
if (method) {
|
||||
textOutput.userInfoOutput("Command was successfull");
|
||||
}else {
|
||||
} else {
|
||||
textOutput.errorInvalidParagraph();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,24 +52,23 @@ public class TextOutput {
|
|||
currentWordNumber++;
|
||||
if (word.length()<= columnWidth - currentLength) {
|
||||
System.out.print(word);
|
||||
if (!(lastWordNumber == currentWordNumber)) {
|
||||
System.out.print(" ");
|
||||
currentLength = currentLength + word.length() + 1;
|
||||
}
|
||||
else {
|
||||
}
|
||||
else {
|
||||
if(currentWordNumber != 1) {
|
||||
System.out.println();
|
||||
}
|
||||
currentLength = 0;
|
||||
}
|
||||
System.out.print(word);
|
||||
|
||||
}
|
||||
if(!(currentWordNumber == lastWordNumber)) {
|
||||
System.out.print(" ");
|
||||
currentLength = currentLength + word.length() + 1;
|
||||
}
|
||||
else {
|
||||
System.out.println();
|
||||
System.out.print(word);
|
||||
if(!(currentWordNumber == lastWordNumber)) {
|
||||
System.out.print(" ");
|
||||
currentLength = word.length() + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -113,8 +115,13 @@ public class TextOutput {
|
|||
* @param index ArrayList with words and in which part they have
|
||||
*/
|
||||
public void indexOutput(ArrayList<String> index) {
|
||||
for (String word : index) {
|
||||
System.out.println(word);
|
||||
if(index.size() == 0) {
|
||||
userInfoOutput("index empty");
|
||||
}
|
||||
else {
|
||||
for (String word : index) {
|
||||
System.out.println(word);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue