• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

StarikStarik2705

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

hosm

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

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

StarikStarik2705

метод 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;
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!