Merge remote-tracking branch 'origin/main'
This commit is contained in:
		
						commit
						b190a8d161
					
				| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
public class TextOutput {
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +8,13 @@ public class TextOutput {
 | 
			
		|||
    /**
 | 
			
		||||
     * Method which checks in which way the paragraphs should be displayed. And then
 | 
			
		||||
     *
 | 
			
		||||
     * @param text the ArrayList which is then formated into the desired output.
 | 
			
		||||
     * @param text the ArrayList which is then formatted into the desired output.
 | 
			
		||||
     */
 | 
			
		||||
    public void print(ArrayList<String> text) {
 | 
			
		||||
        if (formatRaw) {
 | 
			
		||||
            printFormated(text);
 | 
			
		||||
        } else {
 | 
			
		||||
            printUnformatedV2(text);
 | 
			
		||||
            toFormat(text);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +36,7 @@ public class TextOutput {
 | 
			
		|||
     *
 | 
			
		||||
     * @param text the ArrayList which is used for the output.
 | 
			
		||||
     */
 | 
			
		||||
    private void printUnformated(ArrayList<String> text) {
 | 
			
		||||
    private void toFormatold(ArrayList<String> text) {
 | 
			
		||||
        for (String paragraph : text) {
 | 
			
		||||
            String[] words = paragraph.split(" ");
 | 
			
		||||
            int currentLength = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -74,54 +73,36 @@ public class TextOutput {
 | 
			
		|||
            System.out.println(); //added
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    private void printUnformatedV2(ArrayList<String> text) {
 | 
			
		||||
        for(String paragraph : text) {
 | 
			
		||||
            if (paragraph.length() <= columnWidth) {
 | 
			
		||||
                System.out.println(paragraph);
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                String[] word = paragraph.split(" ");
 | 
			
		||||
                int currentLineLength = 0;
 | 
			
		||||
                for(String eachword : word) {
 | 
			
		||||
                    if (eachword.length() > columnWidth) {
 | 
			
		||||
                        String remainingText = eachword;
 | 
			
		||||
                        do {
 | 
			
		||||
                            if (remainingText.length() < columnWidth) {
 | 
			
		||||
                                System.out.println(remainingText);
 | 
			
		||||
                                break;
 | 
			
		||||
                            }
 | 
			
		||||
                            System.out.println(remainingText.substring(0, columnWidth));
 | 
			
		||||
                            remainingText = remainingText.substring((columnWidth));
 | 
			
		||||
 | 
			
		||||
                        } while (!(remainingText.length() == 0));
 | 
			
		||||
    private void toFormat(ArrayList<String> text) {
 | 
			
		||||
        int currentLength = 0;
 | 
			
		||||
        for (String paragraph : text) {
 | 
			
		||||
            String[] words = paragraph.split(" ");
 | 
			
		||||
            int lastwordNumber = words.length;
 | 
			
		||||
            int currentWordNumber = 0;
 | 
			
		||||
            for(String word : words) {
 | 
			
		||||
                currentWordNumber++;
 | 
			
		||||
                if (word.length()<= columnWidth - currentLength) {
 | 
			
		||||
                    System.out.print(word);
 | 
			
		||||
                    if (!(lastwordNumber == currentWordNumber)) {
 | 
			
		||||
                        System.out.print(" ");
 | 
			
		||||
                        currentLength = currentLength + word.length() + 1;
 | 
			
		||||
                    }
 | 
			
		||||
                    else {
 | 
			
		||||
                        if (currentLineLength == 0) {
 | 
			
		||||
                            System.out.println();
 | 
			
		||||
                        System.out.println();
 | 
			
		||||
                        }
 | 
			
		||||
                        if (columnWidth > eachword.length()) {
 | 
			
		||||
                            System.out.print(eachword);
 | 
			
		||||
                            if (!(currentLineLength == columnWidth)) {
 | 
			
		||||
                                System.out.print(" ");
 | 
			
		||||
                            }
 | 
			
		||||
                            currentLineLength = currentLineLength + eachword.length();
 | 
			
		||||
                        }
 | 
			
		||||
                        else {
 | 
			
		||||
                            System.out.println(eachword);
 | 
			
		||||
                            currentLineLength = eachword.length();
 | 
			
		||||
                            if (!(currentLineLength == columnWidth)) {
 | 
			
		||||
                                System.out.print(" ");
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                else {
 | 
			
		||||
                    System.out.println();
 | 
			
		||||
                    System.out.print(word);
 | 
			
		||||
                    if(!(currentWordNumber == lastwordNumber)) {
 | 
			
		||||
                        System.out.print(" ");
 | 
			
		||||
                        currentLength = word.length();
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Method which sets the Variable formatRaw to true.
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue