Страница 1 из 1

Вопрос

Добавлено: 14 июл 2014, 13:43
Electron24
Программа в заданной строке, которая состоит из прописных и строчных латинских букв:
удаляет все гласные буквы,
перед каждой согласной буквой ставит символ ".",
все прописные согласные буквы заменяет на строчные.

ВОПРОС: Что тут не так используется,что вместо модифицированной строки выводится очень большое число?

Код: Выделить всё

import java.util.*;
 
 
public class Task4 {
 
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String s = in.nextLine().toLowerCase();
		String res = "";
		for (int i = 0; i < s.length(); i++) {
			switch (s.charAt(i)){
			case 'a': case'o': case 'y':  case 'e':  case 'u': case 'i': ;
		    default: res += '.' + s.charAt(i);
			}
		}
		in.close();
		System.out.println(res);
	}
 
}

Re: Вопрос

Добавлено: 14 июл 2014, 14:25
Foenix
я бы вообще подумала как использовать тут replaceAll с регулярными выражениями, было бы строчки две наверное.

Re: Вопрос

Добавлено: 14 июл 2014, 16:32
adarash
Тебе уважаемая, Foenix, дело говорит. Регулярками пользуйся.

Re: Вопрос

Добавлено: 14 июл 2014, 17:14
KamiSempai
Или как минимум не делать конкатенацию строк в цикле а использовать StringBuilder.