Merge remote-tracking branch 'origin/main' into main
This commit is contained in:
		
						commit
						7683868668
					
				
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -25,6 +25,9 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +42,10 @@ public class Text {
 | 
			
		|||
     * @return returns true if the paragraph is added successfully
 | 
			
		||||
     */
 | 
			
		||||
    public boolean add(String text) {
 | 
			
		||||
        this.text.add(text);
 | 
			
		||||
        if(text.length() < 1) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
        this.text.add(text.replaceAll("[^A-Za-z0-9 .,:?!\"'-]",""));
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -95,8 +101,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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -120,8 +129,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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +179,7 @@ public class Text {
 | 
			
		|||
        String firstLetter;
 | 
			
		||||
        String restLetters;
 | 
			
		||||
        for (int i = 0; i < text.size(); i++) {
 | 
			
		||||
            String[] words = text.get(i).trim().toLowerCase().split("[ :;.,!?><'/\n]+");
 | 
			
		||||
            String[] words = text.get(i).trim().toLowerCase().split("[ :;.,!?><+*}{)('/\n]+");
 | 
			
		||||
            for (String word : words) {
 | 
			
		||||
                //Words get formatted consistently
 | 
			
		||||
                counter = 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,11 +12,16 @@ public class TextLogik {
 | 
			
		|||
        textOutput = new TextOutput();
 | 
			
		||||
        String[] command;
 | 
			
		||||
 | 
			
		||||
        textOutput.userInfoOutput("######################");
 | 
			
		||||
        textOutput.userInfoOutput("#WELCOME TO THE EDITOR#");
 | 
			
		||||
        textOutput.userInfoOutput("######################");
 | 
			
		||||
        do {
 | 
			
		||||
            textOutput.userInfoOutput("Please enter a Command: ");
 | 
			
		||||
            command = TextInput.checkForInput();
 | 
			
		||||
 | 
			
		||||
            switch (command[0]) {
 | 
			
		||||
                case "ADD":
 | 
			
		||||
                    textOutput.userInfoOutput("Please enter your text: ");
 | 
			
		||||
                    if (command.length == 1) {
 | 
			
		||||
                        checkIfSuccess(text.add(TextInput.getTextInput()));
 | 
			
		||||
                    } else if (isNumeric(command[1])) {
 | 
			
		||||
| 
						 | 
				
			
			@ -29,10 +34,10 @@ public class TextLogik {
 | 
			
		|||
                    break;
 | 
			
		||||
                case "DEL":
 | 
			
		||||
                    if (command.length == 1) {
 | 
			
		||||
                        text.del();
 | 
			
		||||
                        checkIfSuccess(text.del());
 | 
			
		||||
                    } else if (isNumeric(command[1])) {
 | 
			
		||||
                        int line = Integer.parseInt(command[1]);
 | 
			
		||||
                        text.del(line);
 | 
			
		||||
                        checkIfSuccess(text.del(line));
 | 
			
		||||
                    } else {
 | 
			
		||||
                        textOutput.errorInvalidCommand();
 | 
			
		||||
                    }
 | 
			
		||||
| 
						 | 
				
			
			@ -51,9 +56,9 @@ public class TextLogik {
 | 
			
		|||
                    break;
 | 
			
		||||
                case "FORMAT":
 | 
			
		||||
                    if (command.length > 1 && "RAW".equals(command[1])) {
 | 
			
		||||
                        textOutput.formatRaw();
 | 
			
		||||
                        checkIfSuccess(textOutput.formatRaw());
 | 
			
		||||
                    } else if (command.length > 2 && "FIX".equals(command[1]) && isNumeric(command[2])) {
 | 
			
		||||
                        textOutput.formatFix(Integer.parseInt(command[2]));
 | 
			
		||||
                        checkIfSuccess(textOutput.formatFix(Integer.parseInt(command[2])));
 | 
			
		||||
                    } else {
 | 
			
		||||
                        textOutput.errorInvalidCommand();
 | 
			
		||||
                    }
 | 
			
		||||
| 
						 | 
				
			
			@ -63,17 +68,22 @@ public class TextLogik {
 | 
			
		|||
                    textOutput.indexOutput(text.index());
 | 
			
		||||
                    break;
 | 
			
		||||
                case "PRINT":
 | 
			
		||||
 | 
			
		||||
                    textOutput.print(text.getText());
 | 
			
		||||
 | 
			
		||||
                    break;
 | 
			
		||||
                case "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();
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -97,9 +107,9 @@ public class TextLogik {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    private void checkIfSuccess(boolean method) {
 | 
			
		||||
        if(method) {
 | 
			
		||||
            textOutput.userInfoOutput("Command was successfully");
 | 
			
		||||
        }else {
 | 
			
		||||
        if (method) {
 | 
			
		||||
            textOutput.userInfoOutput("Command was successfull");
 | 
			
		||||
        } else {
 | 
			
		||||
            textOutput.errorInvalidParagraph();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,43 +33,6 @@ public class TextOutput {
 | 
			
		|||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void toFormatold(ArrayList<String> text) {
 | 
			
		||||
        for (String paragraph : text) {
 | 
			
		||||
            String[] words = paragraph.split(" ");
 | 
			
		||||
            int currentLength = 0;
 | 
			
		||||
            for (String word : words) {
 | 
			
		||||
                if (word.length() > columnWidth) {
 | 
			
		||||
                    String[] letters = word.split("");
 | 
			
		||||
                    int letterLenght = letters.length;
 | 
			
		||||
                    int lettersPrinted = 0;
 | 
			
		||||
                    do {
 | 
			
		||||
                        currentLength = 0;
 | 
			
		||||
                        for (int i = 0; i < columnWidth; i++) {
 | 
			
		||||
                            if (letterLenght > 0) {
 | 
			
		||||
                                System.out.print(letters[lettersPrinted]);
 | 
			
		||||
                                letterLenght--;
 | 
			
		||||
                                lettersPrinted++;
 | 
			
		||||
                                currentLength++;
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        if (!(letterLenght == 0)) {
 | 
			
		||||
                            System.out.println();
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    while (letterLenght >= columnWidth);
 | 
			
		||||
 | 
			
		||||
                } else {
 | 
			
		||||
                    if (word.length() >= columnWidth - currentLength) {
 | 
			
		||||
                        currentLength = 0;
 | 
			
		||||
                        System.out.println();
 | 
			
		||||
                    }
 | 
			
		||||
                    System.out.print(word + " ");
 | 
			
		||||
                    currentLength += word.length() + 1;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            System.out.println(); //added
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
     * Method to print out the paragraphs with the length taken from columnWidth and adding leftover words to the next
 | 
			
		||||
     * paragraph.
 | 
			
		||||
| 
						 | 
				
			
			@ -77,8 +40,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;
 | 
			
		||||
| 
						 | 
				
			
			@ -86,21 +49,21 @@ 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();
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,5 +27,9 @@ class TextOutputTest {
 | 
			
		|||
    @Test
 | 
			
		||||
    public void print() {
 | 
			
		||||
        textOutput.print(text);
 | 
			
		||||
        System.out.println("fertig");
 | 
			
		||||
        textOutput.formatRaw();
 | 
			
		||||
        textOutput.print(text);
 | 
			
		||||
        System.out.println("fertig");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -92,4 +92,10 @@ public class TextTest {
 | 
			
		|||
        stringListe = txt.index();
 | 
			
		||||
        Assertions.assertEquals(0,stringListe.size());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    void testing() {
 | 
			
		||||
        txt.add("");
 | 
			
		||||
        txt.index();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue