Implemented functional ADD, FORMAT and PRINT feature. Reformat code in several files
This commit is contained in:
		
							parent
							
								
									5369a16497
								
							
						
					
					
						commit
						5d4b9114a0
					
				| 
						 | 
				
			
			@ -2,9 +2,13 @@ import java.util.Scanner;
 | 
			
		|||
 | 
			
		||||
public class TextInput {
 | 
			
		||||
 | 
			
		||||
    private static final Scanner sc = new Scanner("");
 | 
			
		||||
    private static final Scanner sc = new Scanner(System.in);
 | 
			
		||||
 | 
			
		||||
    public static String[] checkForInput() {
 | 
			
		||||
        return sc.nextLine().split("");
 | 
			
		||||
        return sc.nextLine().split(" ");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static String getTextInput() {
 | 
			
		||||
        return sc.nextLine();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,11 @@ import java.util.ArrayList;
 | 
			
		|||
 | 
			
		||||
public class TextLogik {
 | 
			
		||||
    private final Text text;
 | 
			
		||||
    private final TextOutput textOutput;
 | 
			
		||||
 | 
			
		||||
    public TextLogik() {
 | 
			
		||||
        text = new Text();
 | 
			
		||||
        textOutput = new TextOutput();
 | 
			
		||||
        String[] command;
 | 
			
		||||
 | 
			
		||||
        do {
 | 
			
		||||
| 
						 | 
				
			
			@ -12,22 +14,43 @@ public class TextLogik {
 | 
			
		|||
 | 
			
		||||
            switch (command[0]) {
 | 
			
		||||
                case "ADD":
 | 
			
		||||
 | 
			
		||||
                    if (command.length == 1) {
 | 
			
		||||
                        text.add(TextInput.getTextInput());
 | 
			
		||||
                    } else if (isNumeric(command[1])) {
 | 
			
		||||
                        int line = Integer.parseInt(command[1]);
 | 
			
		||||
 | 
			
		||||
                        text.add(line, TextInput.getTextInput());
 | 
			
		||||
                    } else {
 | 
			
		||||
                        textOutput.errorInvalidCommand();
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    break;
 | 
			
		||||
                case "DEL":
 | 
			
		||||
                    // TODO Hier Delete Funktion hinzufügen.
 | 
			
		||||
                    break;
 | 
			
		||||
                case "Dummy":
 | 
			
		||||
                    text.dummy();
 | 
			
		||||
                    break;
 | 
			
		||||
                case "EXIT":
 | 
			
		||||
                    break;
 | 
			
		||||
                case "FORMAT RAW":
 | 
			
		||||
                    break;
 | 
			
		||||
                case "FORMAT FIX":
 | 
			
		||||
                case "FORMAT":
 | 
			
		||||
                    if (command.length > 1 && "RAW".equals(command[1])) {
 | 
			
		||||
                        textOutput.formatRaw();
 | 
			
		||||
                    } else if (command.length > 2 && "FIX".equals(command[1]) && isNumeric(command[2])) {
 | 
			
		||||
                        textOutput.formatFix(Integer.parseInt(command[2]));
 | 
			
		||||
                    } else {
 | 
			
		||||
                        textOutput.errorInvalidCommand();
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    break;
 | 
			
		||||
                case "INDEX":
 | 
			
		||||
                    ArrayList<String> Index = text.index();
 | 
			
		||||
                    break;
 | 
			
		||||
                case "PRINT":
 | 
			
		||||
 | 
			
		||||
                    textOutput.print(text.getText());
 | 
			
		||||
 | 
			
		||||
                    break;
 | 
			
		||||
                case "REPLACE":
 | 
			
		||||
                    break;
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +59,11 @@ public class TextLogik {
 | 
			
		|||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        } while ("EXIT".equals(command[0]));
 | 
			
		||||
        } while (!"EXIT".equals(command[0]));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private boolean isNumeric(String str) {
 | 
			
		||||
        return str.matches("\\d+");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,8 +7,7 @@ public class TextOutput {
 | 
			
		|||
    public void print(ArrayList<String> text) {
 | 
			
		||||
        if (formatRaw) {
 | 
			
		||||
            printFormated(text);
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
        } else {
 | 
			
		||||
            printUnformated(text);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -19,6 +18,7 @@ public class TextOutput {
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void printUnformated(ArrayList<String> text) {
 | 
			
		||||
        for (String paragraph : text) {
 | 
			
		||||
            String[] words = paragraph.split(" ");
 | 
			
		||||
| 
						 | 
				
			
			@ -39,14 +39,13 @@ public class TextOutput {
 | 
			
		|||
                                currentLength++;
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        if(!(letterLenght == 0)){
 | 
			
		||||
                        if (!(letterLenght == 0)) {
 | 
			
		||||
                            System.out.println();
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    while (letterLenght >= columnWidth);
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                } else {
 | 
			
		||||
                    if (word.length() >= columnWidth - currentLength) {
 | 
			
		||||
                        currentLength = 0;
 | 
			
		||||
                        System.out.println();
 | 
			
		||||
| 
						 | 
				
			
			@ -64,9 +63,10 @@ public class TextOutput {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    public void formatFix(int length) {
 | 
			
		||||
    formatRaw = false;
 | 
			
		||||
    columnWidth = length;
 | 
			
		||||
        formatRaw = false;
 | 
			
		||||
        columnWidth = length;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void errorInvalidString() {
 | 
			
		||||
        System.err.println("Invalid String");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
public class SystemInputTest {
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
public class TextEditorTest {
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
import org.junit.jupiter.api.Test;
 | 
			
		||||
 | 
			
		||||
class TextInputTest {
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void inputTest() {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,18 +1,14 @@
 | 
			
		|||
import org.junit.jupiter.api.BeforeEach;
 | 
			
		||||
import org.junit.jupiter.api.Test;
 | 
			
		||||
 | 
			
		||||
import javax.swing.*;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
import static org.junit.jupiter.api.Assertions.*;
 | 
			
		||||
 | 
			
		||||
class TextOutputTest {
 | 
			
		||||
    TextOutput textOutput;
 | 
			
		||||
    ArrayList<String> text;
 | 
			
		||||
 | 
			
		||||
    @BeforeEach
 | 
			
		||||
    public void setup(){
 | 
			
		||||
    public void setup() {
 | 
			
		||||
        textOutput = new TextOutput();
 | 
			
		||||
        textOutput.formatFix(9);
 | 
			
		||||
        textOutput.formatRaw();
 | 
			
		||||
| 
						 | 
				
			
			@ -25,10 +21,7 @@ class TextOutputTest {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void print(){
 | 
			
		||||
    textOutput.print(text);
 | 
			
		||||
 | 
			
		||||
    public void print() {
 | 
			
		||||
        textOutput.print(text);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue