Martina312

Согласки / Самогласки

Feb 4th, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.46 KB | None | 0 0
  1. import java.util.List;
  2. import java.util.Scanner;
  3.  
  4. public class SoglaskiSamoglaski {
  5.     public static DLL<Character> removeDuplicates(DLL<Character> list){
  6.         DLLNode<Character> tmp=list.getFirst();
  7.         DLLNode<Character> next;
  8.  
  9.         while(tmp!=null){
  10.             next=tmp.succ;
  11.             if(next==null)
  12.                 break;
  13.             if(tmp.element==next.element){
  14.                 list.delete(tmp);
  15.                 tmp=next;
  16.             }else{
  17.                 tmp=tmp.succ;
  18.             }
  19.         }
  20.         return list;
  21.     }
  22.     public static boolean isVowel(char c){
  23.         c=Character.toLowerCase(c);
  24.         if(c=='a' || c=='e' || c=='o' || c=='i' || c=='u')
  25.             return true;
  26.         else return false;
  27.     }
  28.     public static void promeni(DLL<Character> list){
  29.         list=removeDuplicates(list);
  30.  
  31.         DLLNode<Character> tmp=list.getFirst();
  32.         boolean vowel=isVowel(tmp.element);
  33.  
  34.         while(tmp!=null){
  35.             if(vowel){
  36.                 DLLNode<Character> next=tmp.succ;
  37.                 if(next==null)
  38.                     break;
  39.                 while(true) {
  40.                     if (isVowel(next.element)) {
  41.                         DLLNode<Character> kopija = next;
  42.                         list.delete(next);
  43.                         next = kopija.succ;
  44.                         if(next==null)
  45.                             break;
  46.                     }
  47.                     else break;
  48.                 }
  49.             }
  50.             if(!vowel){
  51.                 DLLNode<Character> next=tmp.succ;
  52.                 if(next==null)
  53.                     break;
  54.                 while(true) {
  55.                     if (!isVowel(next.element)) {
  56.                         DLLNode<Character> kopija = next;
  57.                         list.delete(next);
  58.                         next = kopija.succ;
  59.                         if(next==null)
  60.                             break;
  61.                     }
  62.                     else break;
  63.                 }
  64.             }
  65.             tmp=tmp.succ;
  66.             if(tmp==null)
  67.                 break;
  68.             vowel=isVowel(tmp.element);
  69.         }
  70.         System.out.println(list);
  71.     }
  72.     public static void main(String[] args) {
  73.         Scanner in=new Scanner(System.in);
  74.  
  75.         String line=in.nextLine();
  76.         DLL<Character> list=new DLL<>();
  77.         for(int i=0;i<line.length();i++){
  78.             list.insertLast(line.charAt(i));
  79.         }
  80.         promeni(list);
  81.     }
  82. }
Add Comment
Please, Sign In to add comment