Тут могла бути ваша реклама
Статус: Офлайн
Реєстрація: 04.07.2008
Повідом.: 677
Есть задание :
Имеется некоторые текст (задан в виде массива строк). Есть словарь, который задает правила замены слов (ключ исходное слово, значение слово, на которое надо заменить). Выполнить замены во всем исходном тексте.
Как бы вы посоветовали его делать?
Правильно ли будет двигаться в таком направлении?:
Код:
	public static void main(String[] args)  
	{  
		Collection<String> List = new ArrayList<String>();
		List.add("Привет, ну вот уже сегодня пятое число а тебя все еще нет в Украине . . . ");
		dictionary d = new dictionary("Привет","Здравствуй",List);
		d.replace();
	}
}

class dictionary implements Comparator<String>
{
	private String key;
	private String value;
	public  Collection<String> List;
	private Map<String, String> hm = new HashMap<String, String>();
	public dictionary() {
		// TODO Auto-generated constructor stub
	}
	public dictionary(String key , String value, Collection<String> List)
	{
		this.key=key;
		this.value=value;
		this.List = List;
		hm.put(this.key, this.value);
	}
	public String get_value()
	{
		return this.value;
	}
	public String get_key()
	{
		return this.key;
	}
	public void replace ()
	{
		// System.out.println("Contains?: " + hm.keySet().containsAll(List)); 
		// System.out.println("Reverse check?: " + List.containsAll(hm.values()));
		 System.out.println("Contains?: " + hm.keySet().containsAll(List)); 
		 System.out.println("Contains?: " + hm.keySet().containsAll(List)+" "+   hm.keySet()+" "+ List); 
		  
 




	 
	}
	@Override
	public int compare(String arg0, String arg1) {
		return arg0.compareTo(arg1);
	}
 
Учу джаву но настали лабы)
Просто мне непонятно бывают кое какие моменты, например здесь как я вижу логика такая что:
Вытаскиваем ключ из мэпа.
Разбиваем массив на слова - > Сравниваем слово с ключоем
Если тру тогда меняем слово на значение из мэпа.
Теперь вопрос если все так просто зачем тогда мэп? :)
Если можно было все сделать функцией)))
 
и че я сегодня такой добрый?

Код:
public class Test {

    public static void main(String[] args) {
    	
    	List<String> texts = new ArrayList<String>();
    	texts.add("Привет медвед!");
    	texts.add("Привет Ололоша!");
    	texts.add("Hello медвед!");
    	
    	Map<String, String> replaceMap = new HashMap<String, String>();
    	replaceMap.put("Привет", "ПРЫВЕТ");
    	replaceMap.put("медвед!", "МЭДВЭД!");
    	

    	List<String> result = new ArrayList<String>();
    	
    	for (String str: texts) {
    		for (String key: replaceMap.keySet()) {
    			str = str.replaceAll(key, replaceMap.get(key));
    		}
    		result.add(str);
    	}
    	
    	for (String str: result) {
    		System.out.println(str);
    	}
    	
    }

}
 
Назад
Зверху Знизу