Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Леднева_программирование_на_JAVA.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

Задания

Задания выполнять с использованием объектов класса StringBuffer. Для выделения слов применить метод, алгоритм которого приведен в задаче 11.1 данной лабораторной работы (метод split() не использовать).

Задание 11.1. Работа с классом StringBuffer. Ввести в ЭВМ предложение. Выделить слова из предложения в массив для случая, когда количество пробелов между словами произвольно, вывести их на экран.

Задание 11.2. Ввести в ЭВМ предложение. Выделить слова и отсортировать их в алфавитном порядке.

Задание 11.3. Ввести в ЭВМ предложение. Выделить слова и отсортировать их по возрастанию (убыванию длины).

Задание 11.4. Ввести в ЭВМ предложение. Организовать поиск слова, введенного с клавиатуры, в предложении. Выдать сообщение о его наличии и его номер.

Содержание отчета

Готовится один отчет на бригаду в печатном виде для заданий, указанных в лабораторной работе. Он должен содержать следующие разделы:

  • титульный лист;

  • задание;

  • словесное описание алгоритма;

  • схему алгоритма;

  • текст программы на языке Java.

Контрольные вопросы

1. Для каких объектов используются классы StringBuilder и StringBuffer и чем они отличаются друг от друга и от класса String?

2. Какие методы классов StringBuilder и StringBuffer являются наиболее распространенными?

3. Можно ли для объектов этих классов использовать методы класса String?

4. Как выполняется преобразование строки классов StringBuilder и StringBuffer в String?

5. Приведите алгоритм выделения слов с произвольным количеством пробелов.

Лабораторная работа № 12 разработка собственных методов

Цель работы – получение навыков работы по созданию собственных методов.

Источники: [3, с. 130-153], [4, с. 159-170].

Краткая теория Общие правила создания методов класса

В разрабатываемых приложениях до сих пор использовался один класс с методом main(), в котором реализовался весь алгоритм программы. Следует отметить, что пользователь может создавать собственные методы в классе для выполнения каких-то действий. Использование этих методов в программе ничем не отличается от использования методов классов из стандартных библиотек Java, продемонстрированных в предыдущих лабораторных работах для объектов классов String, StringBuffer (StringBuilder) (табл. 10.1 и 11.1).

Рассмотрим пример создания методов для следующей задачи.

Задача 12.1. Ввести одномерный массив и отсортировать его.

Алгоритм будет выглядеть так:

1. Ввести массив из n чисел.

2. Вывести массив.

3. Отсортировать массив.

4. Вывести отсортированный массив.

5. Закончить.

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

1) исходя из многократности использования однотипных действий в программе (например, вывод массива даже в вышеописанной простой задаче производится 2 раза);

2) исходя из универсальности алгоритма подзадачи (например, алгоритм сортировки).

Для рассматриваемой задачи на рис. 12.1 схематично показана структура класса без методов разработчика, на рис. 12.2 – структура класса с методами вывода и сортировки массива.

package Massiv_1;

импортируемые библиотеки

public class Massiv1{

public static void main(String[] args) {

Ввести массив из n чисел.

Вывести массив

Отсортировать массив

Вывести отсортированный массив.

}

}

Рис. 12.1

package Massiv_2;

импортируемые библиотеки

public class Massiv2{

м

описание методов

етод вывода массива

метод сортировки массива

public static void main(String[] args) {

Ввести массив из n чисел.

Вызвать метод вывода массива

Вызвать метод сортировки массива

Вызвать метод вывода массива

}

}

Рис. 12.2

Далее перейдем к более подробному рассмотрению методов: их структуры, правил вызова.