Last active
March 2, 2016 01:49
-
-
Save Viacheslav77/788f377fe663dba59a3c to your computer and use it in GitHub Desktop.
1. Написать программу переводчик, которая будет переводить текст, написанный на одном языке, на другой язык согласно заранее составленному словарю. 2. Сделать ф-ю ручного наполнения словаря и возможность его сохранения на диск.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package Dictionary; | |
| import java.io.File; | |
| import java.io.FileInputStream; | |
| import java.io.FileNotFoundException; | |
| import java.io.FileOutputStream; | |
| import java.io.IOException; | |
| import java.io.ObjectInputStream; | |
| import java.io.ObjectOutputStream; | |
| import java.util.HashMap; | |
| import java.util.Map; | |
| public class Dictionary { | |
| private Map <String,String> Dic; | |
| private String path; | |
| public Dictionary (){ | |
| Dic = new HashMap <String,String> (); | |
| } | |
| public void getDic(String path) throws FileNotFoundException, ClassNotFoundException, IOException{ | |
| this.path=path; | |
| File f = new File (path); | |
| if (f.isFile() && f.exists()) | |
| Dic = getDes (f); | |
| else { | |
| f.createNewFile(); | |
| Dic = loadStandart(); | |
| } | |
| } | |
| private Map<String, String> loadStandart() { | |
| String [] s1 = {"Hello", "!", "world", "My", "name"}; | |
| String [] s2 = {"Привет","!", "мир", "моё", "имя"}; | |
| Map <String,String> tmp = new HashMap <String,String> (); | |
| for(int i=0; i < s1.length; i++) | |
| tmp.put(s1[i], s2[i]); | |
| return tmp; | |
| } | |
| private HashMap<String, String> getDes(File f) throws FileNotFoundException, IOException, ClassNotFoundException { | |
| HashMap <String, String> obj = null; | |
| try ( ObjectInputStream inSt = new ObjectInputStream(new FileInputStream (f))){ | |
| obj = (HashMap<String, String>)inSt.readObject(); | |
| } | |
| System.out.println(obj+" has been deserialized from "+ f +"\n"); | |
| return obj; | |
| } | |
| public void setDic () throws FileNotFoundException, IOException { | |
| ObjectOutputStream obout = new ObjectOutputStream (new FileOutputStream(path)); | |
| obout.writeObject(Dic); | |
| System.out.println(Dic +" has been serialized to "+ path+"\n"); | |
| obout.flush(); | |
| obout.close(); | |
| } | |
| public void setWord (String w1, String w2){ | |
| Dic.put(w1, w2); | |
| } | |
| public String getW2 (String w1){ | |
| return Dic.get(w1); | |
| } | |
| public String getW1 (String w2){ | |
| return Dic.get(w2); | |
| } | |
| public void getTranslation (String text ){ | |
| System.out.println ("Фраза для перевода - " + text + "\n переводим ..."); | |
| String [] tmp = text.split(" "); | |
| StringBuilder sb = new StringBuilder (); | |
| for(String s: tmp) | |
| sb.append(Dic.get(s)+" "); | |
| System.out.println("Перевод : " + sb); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package Dictionary; | |
| import java.io.FileNotFoundException; | |
| import java.io.IOException; | |
| /*1. Написать программу переводчик, которая будет переводить текст, написанный на одном языке, на другой язык согласно заранее | |
| составленному словарю. | |
| 2. Сделать ф-ю ручного наполнения словаря и возможность его сохранения на диск.*/ | |
| public class MyClass { | |
| public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, IOException { | |
| Dictionary d = new Dictionary (); | |
| d.getDic("d:\\1\\dictionari.txt"); | |
| MainMenu.Menu(d); | |
| d.setDic(); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {!=!, world=мир, Hello=Привет, name=имя, My=моё, girl=девочка, first=первый} has been deserialized from d:\1\dictionari.txt | |
| --------------------------------------------------- | |
| Переводчик | |
| --------------------------------------------------- | |
| Если хотите ввести новые слова введите 1 | |
| Если хотите ввести фразу для перевода введите 2 | |
| Использовать готовую фразу для перевода введите 3 | |
| Выход - 4 | |
| Ваш выбор: 1 | |
| 1 | |
| --------------------------------------------------- | |
| Введите слово: second | |
| Введите перевод: второй | |
| Слова внесены | |
| --------------------------------------------------- | |
| Если хотите ввести новые слова введите 1 | |
| Если хотите ввести фразу для перевода введите 2 | |
| Использовать готовую фразу для перевода введите 3 | |
| Выход - 4 | |
| Ваш выбор: 2 | |
| 2 | |
| --------------------------------------------------- | |
| Введите фразу для перевода | |
| --------------------------------------------------- | |
| first second | |
| Фраза для перевода - first second | |
| переводим ... | |
| Перевод : первый второй | |
| --------------------------------------------------- | |
| Если хотите ввести новые слова введите 1 | |
| Если хотите ввести фразу для перевода введите 2 | |
| Использовать готовую фразу для перевода введите 3 | |
| Выход - 4 | |
| Ваш выбор: 3 | |
| 3 | |
| --------------------------------------------------- | |
| Использовать готовую фразу для перевода | |
| --------------------------------------------------- | |
| Фраза для перевода - Hello world ! | |
| переводим ... | |
| Перевод : Привет мир ! | |
| --------------------------------------------------- | |
| Если хотите ввести новые слова введите 1 | |
| Если хотите ввести фразу для перевода введите 2 | |
| Использовать готовую фразу для перевода введите 3 | |
| Выход - 4 | |
| Ваш выбор: 4 | |
| 4 --------------------------------------------------- | |
| {!=!, world=мир, Hello=Привет, name=имя, My=моё, girl=девочка, first=первый, second=второй} has been serialized to d:\1\dictionari.txt | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment