Замена Символов

Тема в разделе "Java", создана пользователем StarikStarik2705, 20 мар 2013.

  1. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    написал такой код :
    public static String smallsToCaps(String str) {
    int n = str.length();// длина str
    int i = 0;
    char tmp;
    for (i = 0; i < n; i++) {
    tmp = str.charAt(i); //возвращает i-ый символ строки
    switch (tmp) {
    case 'а':
    str.replace('a', ' '); break;
    case 'о':
    str.replace('о', ' '); break;
    case 'у':
    str.replace('у', ' '); break;
    case 'ы':
    str.replace('ы', ' '); break;
    case 'э':
    str.replace('э', ' '); break;
    case 'я':
    str.replace('я', ' '); break;
    case 'ё':
    str.replace('ё', ' '); break;
    case 'ю':
    str.replace('ю', ' '); break;
    case 'и':
    str.replace('и', ' '); break;
    case 'е':
    str.replace('е', ' '); break;
    default :
    break;
    }

    }
    return str;
    }
    задача такая, берём какоето предложение, и если там есть гласные заменяем их на пробел. Проблема такая не пашет хоть ты что сделай, кто то может сталкивался подскажите в чём беда и накосячил?
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    метод replace возвращает строку (измененную строку, если были замены, в противном случае - исходную).

    Добавлено: а еще тут просится регулярка и глобальные замены (если я не путаю c js - то /g).
     
  3. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    я уже сделал, дня три голову себе морочил) вот результат, все гласные выводит и согласные буквы переданой строки, может пригодиться как то:
    public static void main(String[] args) throws Exception
    {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String s = reader.readLine();

    //Написать тут ваш код
    String glasn = glasn(s);
    System.out.println(glasn);
    String soGlasn = soGlasn(s);
    System.out.println(soGlasn);
    }

    public static String glasn(String str) {
    int n = str.length();
    String glasn = null;
    int i = 0;
    char tmp;
    for (i = 0; i < n; i++) {
    tmp = str.charAt(i);
    if (!isVowel(tmp)){
    glasn = str.replace(tmp,' ');
    str = glasn;
    }
    }
    return glasn;
    }
    public static String soGlasn(String str) {
    int n = str.length();
    String soGlasn = null;
    int i = 0;
    char tmp;
    for (i = 0; i < n; i++) {
    tmp = str.charAt(i);
    if (isVowel(tmp)){
    soGlasn = str.replace(tmp,' ');
    str = soGlasn;
    }
    }
    return soGlasn;
    }
    public static char[] vowels = new char[]{'а', 'я', 'у', 'ю', 'и', 'ы', 'э', 'е', 'о', 'ё'};

    //метод проверяет, гласная ли буква
    public static boolean isVowel(char c)
    {
    c = Character.toLowerCase&copy;; //приводим символ в нижний регистр - от заглавных к строчным буквам

    for (char d : vowels) //ищем среди массива гласных
    {
    if (c == d)
    return true;
    }
    return false;
    }
     
Загрузка...

Поделиться этой страницей