Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методы и свойства класса StringСодержание книги
Поиск на нашем сайте
Окончание табл. 1.2
Текст, заданный строкой, зачастую представляет собой совокупность структурированных элементов: абзацев, предложений, слов, скобочных выражений и т. д. При работе с таким текстом необходимо разделить его на элементы, пользуясь специальными разделителями, которыми могут быть пробелы, скобки, знаки препинания. Подобные задачи постоянно возникают при работе со структурированными текстами. Пример программы, в которой применяются методы Split
Листинг 1.4. Программа для работы со структурированным текстом
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace тест _Split_ и _Join { Class Program { static void Main(string[ ] args) { string txt = "Динамический метод Split выполняет разбор текста на элементы." + "Статический метод Join собирает строку из элементов"; Console.WriteLine("txt = {0}", txt); Console.WriteLine("Разделение текста на простые предложения:");
// Размерность массивов SimpleSentences и Words устанавливается // в соответствии с размерностью массива, возвращаемого методом Split string[ ] SimpleSentences, Words; // В качестве разделителя предложений указан символ «точка» SimpleSentences = txt.Split('.'); for(int i = 0; i < SimpleSentences.Length; i++) Console.WriteLine("SimpleSentences[{0}] = {1}", i, SimpleSentences[i]); string txtjoin = string.Join(",",SimpleSentences); Console.WriteLine("txtjoin = {0}", txtjoin); // В качестве разделителя слов указаны символы «запятая», // «запятая с пробелом» и «пробел» Words = txt.Split(', ', ' '); // Вывод значений слов for(int i = 0; i < Words.Length; i++) Console.WriteLine("Words[{0}] = {1}", i, Words[i]); txtjoin = string.Join(" ",Words); Console.WriteLine("txtjoin = {0}", txtjoin); Console.ReadLine(); } } }
Рис. 1.3. Вывод программы из листинга 1.4
Класс StringBuilder. Класс StringBuilder предоставляет подобный строке объект, значение которого является изменяемой последовательностью знаков. Значение считается изменяемым потому, что после создания его можно изменить путем добавления, удаления, замены или вставки знаков. Наиболее часто используемые методы класса StringBuilder приведены в табл. 1.3, а примеры их применения показаны в листинге 1.5 и рис. 1.4.
Таблица 1.3 Методы класса StringBuilder
Листинг 1.5. Демонстрация методов класса StringBuilder
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace тест _StringBuilder { class Program { static void Main(string[ ] args) { // Вызов конструктора класса StringBuilder для создания объекта с // именем sb длиной 50 символов и инициализация его значением StringBuilder sb = new StringBuilder(" Строка ", 50); // Добавление символов А, Б, С к концу объекта StringBuilder sb.Append(new char[ ] {' А ', ' Б ', ' С '}); // Вывод длины строки и ее значения на экран Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString()); // Вставка строки в начало объекта sb sb.Insert(0, " Начало: "); Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString()); // Замена всех символов, являющихся русской буквой а нижнего // регистра строки sb, на символы, являющиеся русской буквой А // верхнего регистра sb.Replace('а', 'А'); // Вывод длины новой строки и ее значения на экран Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString()); Console.ReadLine(); } } }
Рис. 1.4. Вывод программы из листинга 1.5 Ввод текста из файла. Чтобы прочитать текст из файла, необходимо выполнить следующие действия: – подключить пространство имен, в котором описываются стандартные классы для работы с файлами, using System. IO; – объявить файловую переменную и связать ее с файлом на диске; – выполнить операции чтения текста из файла; – закрыть файл. В листинге 1.6 приведен пример программы, выполняющей чтение текста из файла построчно и вывод прочитанных строк на консоль с проставление номеров строк.
Листинг 1.6. Чтение текста из файла и вывод его на консоль
using System; using System.IO; using System.Collections.Generic; using System.Text; namespace file_text { class Program { static void Main(string[ ] args) { try { // Создание объекта класса StreamReader для чтения из файла // input.txt StreamReader f = new StreamReader("input.txt"); string s; long i = 0; //Чтение строк из файла. Строка определяется как последователь- // ность символов, за которыми следует перевод строки (\n), // возврат каретки (\r) или за символом возврата каретки сразу // следует символ перевода строки (\r\n) // Возвращается значение null, если достигнут конец входного // потока while ((s = f.ReadLine())!= null) // Вывод на экран пронумерованных строк Console. WriteLine ("{0}: {1}", ++ i, s); f. Close (); // Закрытие файла } // Исключение FileNotFoundExceptio n создается, когда попытка // доступа к файлу, не существующему на диске, заканчивается // неудачей catch (FileNotFoundException e) { Console.WriteLine(e.Message); Console. WriteLine ("Проверьте правильность имени файла"); return; } Console.ReadLine(); } } } Если нужно считать все символы до конца файла и возвратить считанные данные как одну строку типа String, то можно воспользоваться оператором:
string s = f. ReadToEnd ();
Порядок выполнения работы 1. Изучить описание библиотечных классов Сhar, String, StringBuilder,предназначенных для обработки символов и строк. 2. Разработать программу (консольное приложение) на языке С # в соответствии с вариантом практического задания. 3. Ответить на контрольные вопросы. 4. Составить отчет в электронном виде, который должен содержать титульный лист, цель лабораторной работы, задание, ответы на контрольные вопросы, листинг программы и результаты ее работы.
Контрольные вопросы и задания
1. Какой класс библиотеки FCL предназначен для работы с символами? 2. Назовите классы библиотеки FCL для работы со строками. 3. Каким образом можно создать объекты класса String в программах на языке C#? 4. Приведите примеры создания объектов класса String. 5. Может ли быть изменен объект класса String после его создания? 6. С помощью какого метода класса String можно выполнить разбор текста на составляющие элементы? 7. Каким образом можно собрать строку из составляющих ее элементов? 8. В каких случаях для работы со строками следует использовать методы класса String Builder? 9. Каким образом выполняется добавление символов к концу объекта класса StringBuilder? 10. Напишите код для вставки строки в начало объекта класса StringBuilder. 11. В каком пространстве имен определены классы для работы с файлами? 12. Перечислите действия, которые необходимо выполнить для чтения текста из файла. Варианты практических заданий
В предлагаемых ниже заданиях требуется написать программу как консольное приложение для выполнения указанных в них действий. 1. Считать из текстового файла три предложения и вывести их на экран в обратном порядке. 2. Считать текст из файла и вывести на экран только предложения, содержащие введенное с клавиатуры слово. 3. Считать текст из файла и вывести на экран только строки, содержащие двузначные числа. 4. Считать английский текст из файла и вывести на экран слова, начинающиеся с гласных букв. 5. Считать текст из файла и вывести его на экран, меняя местами каждые два соседних слова. 6.Считать текст из файла и вывести на экран только предложения, не содержащие запятых. 7. Считать текст из файла и определить, сколько в нем слов, 8. Считать текст из файла и вывести на экран только цитаты, 9. Считать текст из файла и вывести на экран только предложения, состоящие из заданного количества слов. 10. Считать английский текст из файла и вывести на экран слова, начинающиеся и оканчивающиеся на гласные буквы. 11. Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел. 12. Считать текст из файла и вывести на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы. 13. Считать английский текст из файла и вывести его на экран, заменив прописной каждую первую букву слов, начинающихся с гласной буквы. 14. Считать текст из файла и вывести на экран, заменив цифры от 0 до 9 словами «ноль», «один»,..., «девять» и начиная каждое предложение с новой строки. 15. Считать текст из файла, вывести его на экран, найти в нем самое длинное слово и определить, сколько раз оно встретилось в тексте. 16. Считать текст из файла и вывести на экран сначала вопросительные, а затем восклицательные предложения. 17. Считать текст из файла и вывести его на экран, добавляя после каждого предложения, сколько раз встретилось в нем введенное с клавиатуры слово. 18. Считать текст из файла и вывести на экран все его предложения в обратном порядке. 19. Считать текст из файла и вывести на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные. 20. Считать текст из файла и вывести на экран предложения, содержащие максимальное количество знаков пунктуации. 21. В исходном тексте удалить все строки, начинающиеся на заданную букву. 22. Подсчитать, сколько раз во введенном с клавиатуры тексте встречается слово «по». 23. Зашифровать введенный текст, заменив каждый символ на символ, стоящий через один от данного в таблице кодировки. Исходное разбиение на строки должно быть сохранено. Написать программу дешифрации зашифрованного файла. 24. В исходном тексте определить количество слов, у которых первый и последний символы совпадают друг с другом. 25. Во введенном тексте заменить строчные буквы прописными и повторить дважды каждую цифру. 26. Во введенном тексте заменить прописные буквы строчными и повторить дважды каждую букву А. 27. Выяснить, есть ли во введенном тексте слова, заканчивающиеся на букву f, и подсчитать количество таких слов. Слова в тексте разделяются пробелами. 28. Распечатать введенный текст, удалив из него символы, не являющиеся буквами и цифрами, и заменив каждую цифру на две звездочки (**). Исходное разбиение текста на строки должно быть сохранено. 29. В исходном тексте заменить несколько подряд идущих пробелов одним и подсчитать количество строк, начинающихся на заданную букву.
Лабораторная работа 2 СОЗДАНИЕ КЛАССОВ
Цель работы: приобретение практических навыков по созданию классов. Задачи работы: – изучить средства языка С # для создания классов; – выполнить практическое задание по разработке собственных классов в программах на языке С #; – изучить возможности унифицированного языка моделирования Unified Modeling Language (UML) для представления классов; – разработать UML -диаграмму классов.
|
||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2022-09-03; просмотров: 59; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.3.204 (0.007 с.) |