Исправить программу строки C# (классы, методы, строки)
Формулировка задачи:
Реализовать в виде класса набор методов для выполнения следующих операций со строками:
1) Вывода на экран символов строки, расположенных между открывающейся и закрывающейся скобками;
2) Вывода на экран слов строки, содержащих хотя бы одну букву а;
3) Подсчета различных символов входящих в строку.
Разработать основную программу, демонстрирующую использование методов созданного класса.
Класс)
Программа)
!!!Проблема в том что метод "strk" не считает количество РАЗЛИЧНЫХ СИМВОЛОВ (например если программа увидел букву "п" то она ее больше не считает DDD) и метод "slova" не выводит слова в которых содержится буква "a"...
class stroki
{
public void slova(string stroka)
{
string[] s = new string[100];
int i = 0;
while (stroka.IndexOf(' ') >= 0)
{
int k = stroka.IndexOf(' ');
s[i] = stroka.Substring(0, k);
}
for (int ii = 0; ii < i + 1; ii++)
{
if (s[ii].IndexOf('а') >= 0) Console.WriteLine("[Слова с буквой а] = " + s[ii]);
}
}
public int strk(string stroka)
{
char[] ch = stroka.ToCharArray();
char k = ' ';
int n = 0;
k = ch[0];
foreach (char i in ch)
{
if (i != k) n++;
k = i;
Console.WriteLine("[Количество различных символов] = " + n );
}
return n;
}
public void skobki(string stroka, string a)
{
a = stroka.Substring(stroka.IndexOf("(", 0) + 1, stroka.LastIndexOf(")") - stroka.IndexOf("(", 1) - 1);
Console.WriteLine("[Слово между скобками] = " + a);
}string stroka = Convert.ToString(Console.ReadLine());
Console.WriteLine("[Вы ввели] = " + stroka);
string a = null;
stroki str = new stroki();
str.slova(stroka);
str.strk(stroka);
str.skobki(stroka,a);
Console.ReadLine();Решение задачи: «Исправить программу строки C# (классы, методы, строки)»
textual
Листинг программы
public int strk(string stroka)
{
StringBuilder s = new StringBuilder();
int i = 0;
foreach (char c in stroka)
{
if (s.Contains(c) || c=' ') //если уже есть такой символ или если символ - пробел
continue; //переходим к следующему символу
s.Append(c); //добавляем новый символ
i++; //увеличиываем счетчик
}
Console.WriteLine("[Количество различных символов] = " + n );
return i;
}