Наследование и классы-коллекции

Оглавление

Цель работы 3

Задание для домашней подготовки. 3

Задания к лабораторной работе. 3

Задание 1 3

Задание 2 4

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

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

Литература. 6

Приложение 1. Спецификация класса Statistics. 7

Приложение 2. Работа со строками. 9

Приложение 3. Классы – коллекции. 20

Приложение 4. Работа с датами и временем. 41

Приложение 5. Файловый ввод/вывод. 43

Приложение 6. Обработка исключений. 48

Цель работы

1. Научиться работать с коллекциями и классами, реализующими интерфейс Collection.

2. Познакомиться с основными классами пакета java.util.

3. Освоить работу с системным временем (Класс java.util.Date).

4. Научиться работать с файлами и потоками ввода/вывода.

5. Научиться обрабатывать строки (объекты класса String).

6. Применить полученные знания на практике

Задание для домашней подготовки

1. Ознакомиться с материалом, предоставленным в приложениях к данным методическим указаниям.

2. Изучить примеры программ, реализующих файловый ввод/вывод (см. Приложение 5).

3. Ознакомиться с текстом задания к лабораторной работе в соответствии с вариантом и написать программу.

Задания к лабораторной работе

Задание 1

2 варианта:

1) Написать программу, которая считывает текст из входного файла, подсчитывает, сколько раз встретился каждый символ русского алфавита, и выводит результат в выходной файл, например, в виде строк “ символ - число”.

2) Написать программу, которая считывает текст из входного файла, формирует множество слов и выводит результат в выходной файл. Одинаковые слова, встретившиеся в тексте, нужно вывести в третий файл в виде строк “слово - число”.

Для обоих вариантов:

o Классы – коллекции, с помощью которых будет выполнена обработка текста, студент выбирает самостоятельно.

Задание 2

Строки и файлы [Л.2 на с.107-109]. Номер задания соответствует порядковому номеру в журнале (по модулю 20).

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

Отчет должен содержать:

1. Постановку задачи, решаемой отлаженной программой.

2. Руководство пользователя отлаженной программы, содержащее описание интерфейсов всех функций программы.

3. Листинг программы с необходимыми комментариями.

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

1. Как изменить кодировку символов (“KOI8_R”, “Cp866”, …) в потоках ввода/вывода?

2. Как сделать программу нечувствительной к регистру символов входного файла?

3. Как изменить программу, чтобы имена входных/выходных файлов нужно было бы вводить с клавиатуры или задавать в командной строке.

4. Как нужно изменить программу, чтобы после объявления метода public static void main(String[] args) не нужно было бы записывать throws IOException.

5. Как известно, время в приложения Java записывается в виде целочисленных значений типа long, выраженных в миллисекундах и отсчитываемых с полуночи (00:00:00 GMT) 1 января 1970 года. На сколько лет хватит размера (8байт) значения типа long для отсчета миллисекунд?

6. Как можно изменить программу, чтобы подсчитать время обработки файлов без использования класса Date, введя одну дополнительную переменную.

7. Как сравнить две строки.

8. Как выбрать i-ый символ строки.

Литература

1. Арнолд К., Гослинг Дж., Холмс Д. Язык программирования Java:Пер. с англ. – М.: Издательский дом «Вильямс», 2001 г. – 624 с., ил.

2. Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум. -СПб.: Питер, 2002. -240с.

Дополнительная

1. Официальный сайт Java — http://java.sun.com/ (есть раздел на русском языке с учебником).

2. Java™ 2 SDK, Standard Edition Documentation — http://java.sun.com/products/jdk/1.5/index.html.

3. Джеймс Гослинг, Билл Джой, Гай Стил. Спецификация языка Java (The Java Language Specification — http://www.javasoft.com/docs/books/jls/). Перевод на русский язык — http://www.uni-vologda.ac.ru/java/jls/index.html

4. Официальный сайт проекта Eclipse — http://www.eclipse.org/.

А также

5. Дмитрий Рамодин. Начинаем программировать на языке Java.

6. Николай Смирнов. Java 2: Учебное пособие.

7. Картузов А. В. Программирование на языке Java.

8. Вязовик Н.А. Программирование на Java.

Приложение 1. Спецификация класса Statistics.

import java.io.*;//подключение пакета с классами ввода/вывода

import java.util.*; //подключение пакета с классами коллекций и времени

public class Statistics {

public static void main(String[] args) throws IOException{

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\input.txt"));

//Входной поток — из файла d:\input.txt

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:\\output.txt"));

//Выходной поток — в файл d:\output.txt

//инициализация экземпляра класса, реализующего интерфейс коллекций

int c = 0;

Date before = new Date(); //зафиксировали время перед обработкой

while ((c = br.read()) != -1) { //пока не достигнут конец файла d:\input.txt

//обработка

/*

например, если ранее определена строка String s="";

то можно записать s+=(char)c;

Тогда все содержимое файла d:\input.txt будет записано в строку s

*/

}

br.close(); //закрываем входной поток после чтения и предварительной обработки

for (/*цикл*/){

//обработка и запись в выходной поток

bw.write(/*слово*/+" "+/*число*/+"\r\n");

}

bw.close(); //закрываем выходной поток после записи файла

Date after = new Date(); //фиксируем время после обработки

System.out.println("Обработка продолжалась "+(after.getTime()-before.getTime())+" миллисекунд");

//выводим на консоль время обработки в миллисекундах

} //конец public static void main(String[] args)

} //конец класса Statistics

Приложение 2. Работа со строками

Очень большое место в обработке информации занимает работа с текстами. Как и многое другое, текстовые строки в языке Java являются объектами. Они представляются экземплярами класса String или класса StringBuffer.

Зачем в язык введены два класса для хранения строк? В объектах класса String хранятся строки-константы неизменной длины и содержания. Это значительно ускоряет обработку строк и позволяет экономить память, разделяя строку между объектами, использующими ее. Длину строк, хранящихся в объектах класса StringBuffer, можно менять, вставляя и добавляя строки и символы, удаляя подстроки или сцепляя несколько строк в одну строку.

Напомним, что символы в строках хранятся в кодировке Unicode, в которой каждый символ занимает два байта. Тип каждого символа char.

Страница:  1  2  3  4  5  6  7  8  9  10  11 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы