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

  • Автор темы StarikStarik2705
  • Дата начала
S

StarikStarik2705

#1
написал такой код :
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;
}
задача такая, берём какоето предложение, и если там есть гласные заменяем их на пробел. Проблема такая не пашет хоть ты что сделай, кто то может сталкивался подскажите в чём беда и накосячил?
 

hosm

* so what *
18.05.2009
2 442
6
#2
метод replace возвращает строку (измененную строку, если были замены, в противном случае - исходную).

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

StarikStarik2705

#3
метод replace возвращает строку (измененную строку, если были замены, в противном случае - исходную).

Добавлено: а еще тут просится регулярка и глобальные замены (если я не путаю c js - то /g).
я уже сделал, дня три голову себе морочил) вот результат, все гласные выводит и согласные буквы переданой строки, может пригодиться как то:
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©; //приводим символ в нижний регистр - от заглавных к строчным буквам

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