Advertisement
brsjak

АПС - Кумановски Дијалект HashMap

Sep 12th, 2019
986
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.58 KB | None | 0 0
  1. /*
  2. Кумановски дијалект Problem 1
  3.  
  4. Даден ви е речник на зборови на кумановски дијалект и како тие се пишуваат на македонски јазик. Потоа даден ви е текст којшто е напишан на кумановски дијалект. Потребно е да ги замените сите појавувања на зборовите на кумановскиот дијалект кои се дадени во речникот со соодветни зборови на македонски јазик.
  5.  
  6. Забелешка: Треба да се игнорираат интерпункциските знаци точка (.) , запирка (,), извичник(!) и прашалник (?). Исто така зборовите во текстот можат да се појават и со прва голема буква и во тој случај неговиот синоним на македонски јазик исто така треба да се отпечати со прва голема буква.
  7.  
  8. Име на класата (Java): KumanovskiDijalekt.
  9.  
  10. */
  11.  
  12. import java.io.BufferedReader;
  13. import java.io.IOException;
  14. import java.io.InputStreamReader;
  15. import java.util.HashMap;
  16.  
  17.  
  18. public class KumanovskiDijalekt {
  19.    
  20.     public static void zameniZborovi(HashMap<String,String> table, String line) {
  21.         String [] niza = line.split(" ");
  22.        
  23.         for(int i=0;i<niza.length;i++) {
  24.             String zbor = niza[i];
  25.            
  26.             if(Character.isUpperCase(zbor.charAt(0))) {
  27.                 if(!Character.isAlphabetic(zbor.charAt(zbor.length()-1))) {
  28.                     char znak = zbor.charAt(zbor.length()-1);
  29.                     String zborce = zbor.substring(0,zbor.length()-1).toLowerCase();
  30.                    
  31.                     boolean tableContains = table.containsKey(zborce);
  32.                    
  33.                     if(tableContains) {
  34.                         String tmp = table.get(zborce);
  35.                         System.out.print(Character.toUpperCase(tmp.charAt(0))+tmp.substring(1)+znak+" ");
  36.                     }
  37.                     else {
  38.                         System.out.print(zbor + " ");
  39.                     }
  40.                    
  41.                 }
  42.                 else {
  43.                     String zborce = zbor.toLowerCase();
  44.                    
  45.                     boolean tableContains = table.containsKey(zborce);
  46.                    
  47.                     if(tableContains) {
  48.                         String tmp = table.get(zborce);
  49.                         System.out.print(Character.toUpperCase(tmp.charAt(0))+tmp.substring(1)+" ");
  50.                     }
  51.                     else {
  52.                         System.out.print(zbor + " ");
  53.                     }
  54.                 }
  55.             }
  56.             else {
  57.                 if(!Character.isAlphabetic(zbor.charAt(zbor.length()-1))) {
  58.                     char znak = zbor.charAt(zbor.length()-1);
  59.                     String zborce = zbor.substring(0,zbor.length()-1).toLowerCase();
  60.                    
  61.                     boolean tableContains = table.containsKey(zborce);
  62.                    
  63.                     if(tableContains) {
  64.                         String tmp = table.get(zborce);
  65.                         System.out.print(tmp+znak+" ");
  66.                     }
  67.                     else {
  68.                         System.out.print(zbor + " ");
  69.                     }
  70.                 }
  71.                 else {
  72.                     String zborce = zbor.toLowerCase();
  73.                    
  74.                     boolean tableContains = table.containsKey(zborce);
  75.                    
  76.                     if(tableContains) {
  77.                         String tmp = table.get(zborce);
  78.                         System.out.print(tmp+" ");
  79.                     }
  80.                     else {
  81.                         System.out.print(zbor + " ");
  82.                     }
  83.                 }
  84.             }
  85.         }
  86.     }
  87.    
  88.     public static void main (String[] args) throws IOException {
  89.        
  90.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  91.         int N = Integer.parseInt(br.readLine());
  92.        
  93.         HashMap<String,String> table = new HashMap<String,String>(2*N+1);
  94.        
  95.         for(int i=0;i<N;i++) {
  96.             String line = br.readLine();
  97.             String [] niza = line.split(" ");
  98.            
  99.             table.put(niza[0], niza[1]);
  100.         }
  101.        
  102.         zameniZborovi(table,br.readLine());
  103.        
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement