mirror of
				https://github.com/ASDjonok/OOP_IO-2x_2023.git
				synced 2025-11-04 08:39:24 +02:00 
			
		
		
		
	Add files via upload
This commit is contained in:
		
							parent
							
								
									65b34dffdf
								
							
						
					
					
						commit
						a5b76b264f
					
				
							
								
								
									
										105
									
								
								Lab5.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								Lab5.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,105 @@
 | 
				
			|||||||
 | 
					public class Lab5 {
 | 
				
			||||||
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
 | 
					        StringBuilder txt = new StringBuilder("соціальна мережа, яка є мережею мікроблогів. Дає змогу користувачам надсилати короткі текстові повідомлення (до 2802 символів, до 2017 року — до 140 символів), використовуючи SMS,");
 | 
				
			||||||
 | 
					        System.out.println(txt);
 | 
				
			||||||
 | 
					        Text text = new Text(txt);
 | 
				
			||||||
 | 
					        StringBuilder result = text.splitText();
 | 
				
			||||||
 | 
					        System.out.println(result);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Text {
 | 
				
			||||||
 | 
					    private final StringBuilder textString;
 | 
				
			||||||
 | 
					    public Text(StringBuilder textString){
 | 
				
			||||||
 | 
					        this.textString = textString;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public StringBuilder splitText() {
 | 
				
			||||||
 | 
					        StringBuilder result = new StringBuilder();
 | 
				
			||||||
 | 
					        String[] sentenceStrings = textString.toString().split("(?<=[?.!])\\s?");
 | 
				
			||||||
 | 
					        for (String s : sentenceStrings) {
 | 
				
			||||||
 | 
					            StringBuilder sb = new StringBuilder(s);
 | 
				
			||||||
 | 
					            Sentence sentence = new Sentence(sb);
 | 
				
			||||||
 | 
					            result.append(sentence.splitSentence());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return result;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Sentence {
 | 
				
			||||||
 | 
					    private final StringBuilder sentence;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Sentence(StringBuilder sentence) {
 | 
				
			||||||
 | 
					        this.sentence = sentence;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public StringBuilder splitSentence() {
 | 
				
			||||||
 | 
					        StringBuilder returnSentence = new StringBuilder();
 | 
				
			||||||
 | 
					        String text = sentence.toString();
 | 
				
			||||||
 | 
					        String[] words = text.split(" ");
 | 
				
			||||||
 | 
					        for (String w : words) {
 | 
				
			||||||
 | 
					            StringBuilder wb = new StringBuilder(w);
 | 
				
			||||||
 | 
					            Word word = new Word(wb);
 | 
				
			||||||
 | 
					            returnSentence.append(word.splitWord()).append(" ");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return returnSentence;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Word {
 | 
				
			||||||
 | 
					    private final StringBuilder word;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Word(StringBuilder word) {
 | 
				
			||||||
 | 
					        this.word = word;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public StringBuilder splitWord() {
 | 
				
			||||||
 | 
					        StringBuilder returnWord = new StringBuilder();
 | 
				
			||||||
 | 
					        String wordstring = word.toString();
 | 
				
			||||||
 | 
					        String[] letters = wordstring.split("");
 | 
				
			||||||
 | 
					        String firstLetter = wordstring.substring(0, 1);
 | 
				
			||||||
 | 
					        returnWord.append(firstLetter);
 | 
				
			||||||
 | 
					        for (String l: letters){
 | 
				
			||||||
 | 
					            StringBuilder lb = new StringBuilder(l);
 | 
				
			||||||
 | 
					            Letter letter = new Letter(lb);
 | 
				
			||||||
 | 
					            if (firstLetter.equals(letter.getLetter().toString())){
 | 
				
			||||||
 | 
					                returnWord.append("");
 | 
				
			||||||
 | 
					            }else{
 | 
				
			||||||
 | 
					                if(l.equals("!") || l.equals("?") || l.equals(".") || l.equals(",") || l.equals(":") || l.equals(";")){
 | 
				
			||||||
 | 
					                    Punctuation punctuation = new Punctuation(lb);
 | 
				
			||||||
 | 
					                    returnWord.append(punctuation.getPunctuation());
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    returnWord.append(letter.getLetter());
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return returnWord;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Letter {
 | 
				
			||||||
 | 
					    private final StringBuilder letter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Letter(StringBuilder letter) {
 | 
				
			||||||
 | 
					        this.letter = letter;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public StringBuilder getLetter() {
 | 
				
			||||||
 | 
					        return letter;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Punctuation {
 | 
				
			||||||
 | 
					    private final StringBuilder punctuation;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Punctuation(StringBuilder punctuation) {
 | 
				
			||||||
 | 
					        this.punctuation = punctuation;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public StringBuilder getPunctuation() {
 | 
				
			||||||
 | 
					        return punctuation;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user