Главная страница
Навигация по странице:

  • Создание объектов на основе класса

  • Обращение к члену класса obj1.setVal(12); // Заполнение свойстваSystem.out.println(obj1.getVal()); // вывод значения свойстваСоздание массива объектов

  • Чтение из текстового файла

  • Классы и пакеты в языке Java. РиАТ_лаб3. Лабораторная работа 3 Классы и пакеты в языке Java


    Скачать 163.36 Kb.
    НазваниеЛабораторная работа 3 Классы и пакеты в языке Java
    АнкорКлассы и пакеты в языке Java
    Дата15.05.2022
    Размер163.36 Kb.
    Формат файлаpdf
    Имя файлаРиАТ_лаб3.pdf
    ТипЛабораторная работа
    #530329

    РиАТ, 2013
    Лабораторная работа № 3
    Классы и пакеты в языке Java
    Цель работы: научиться конструировать классы в языке Java, использовать в проектах на
    Java пакеты, познакомиться со средствами создания классов, пакетов, со средствами реорганизации кода в среде Netbeans.
    Задание
    1. Познакомится со справочным материалом.
    2. В среде Netbeans создать новый проект — приложение на Java. С помощью Netbeans добавить в проект новый класс. Создаваемый класс включить в пакет, содержащий класс с функцией main().
    3. Конструирование класса выполнить в соответствии с вариантом задания.
    4. Подготовить программу на Java, выполняющую следующие действия:

    создание объекта с помощью конструктора по умолчанию и инициализация свойств,

    создание объекта с помощью конструктора с параметрами,

    создание одномерного массива объектов (n=5) и заполнение его данными, прочитанными из текстового файла,

    сортировка всех объектов, в т.ч. одиночных объектов и объектов, входящих в массив, и вывод результата в текстовый файл,

    вычисление заданного параметра по всем объектам программы.
    5. Проверить выполнение программы в Netbeans.
    6. Выполнить рефакторинг. Добавить в проект новый пакет, сконструированный класс переместить в него с помощью команды Netbeans, класс переименовать.
    7. Проверить выполнение программы в Netbeans.
    8. Подготовить отчет: постановка задачи с учетом варианта, описание сконструированного класса (свойства, методы), текст программы, структура каталога проекта, исходные данные, результат.
    Варианты заданий
    В текстовом файле с исходными данными находится таблица, состоящая из 5 строк, каждая строка содержит значения свойств одного объекта. Каждое значение представляет собой последовательность символов без пробела (слово), между словами — пробел. Количество слов в строке определяется количеством свойств класса. Значение каждого слова должно соответствовать типу свойства, в которое записывается слово.

    Название полей
    Вычисляемый параметр
    1
    Название программы, Разработчик, Версия, Год выпуска.
    Определить самую новую программу.
    2
    Номер школы,
    Название школы,
    Специализация, Количество учащихся
    Вычислить общее количество учащихся.
    3
    Название товара, Категория товара, Цена,
    Количество.
    Вычислить общую стоимость товара.
    4
    Номер банковской карты, Фамилия владельца,
    Год окончания действия, Остаток на счете
    Определить владельца карты с минимальным остатком средств.
    1

    РиАТ, 2013
    5
    Фамилия, Количество отработанных дней,
    Тариф.
    Вычислить сумму заработной платы.
    6
    Марка машины, Мощность двигателя, Объем бака, Цвет кузова
    Вычислить машину с самым мощным двигателем.
    7
    Марка монитора, Максимальное разрешение,
    Цена
    Вычислить среднюю цену.
    8
    Фамилия студента, Предмет, Оценка
    Вычислить количество двоек.
    9
    Марка принтера, Формат бумаги, Скорость печати, Цена
    Определить самый дешевый принтер.
    10
    Название турфирмы, Маршрут, Количество оставшихся путевок
    Вычислить общее количество оставшихся путевок.
    11
    Фамилия, Имя, Должность, Оклад
    Определить самого высокооплачиваемого сотрудника.
    12
    Станция отправления, Станция прибытия,
    Время в пути
    Определить маршрут с наименьшим временем в пути.
    13
    Фамилия спортсмена, Вид спорта, Разряд,
    Название спортивного клуба
    Вычислить количество спортсменов, имеющих первый разряд.
    14
    Название книги, Автор, Год издания
    Определить самое старое издание.
    15
    Фамилия, Отдел, Год поступления на работу,
    Образование
    Определить средний стаж работы.
    16
    Фамилия студента, Название вуза, Курс,
    Факультет
    Определить количество студентов второго курса.
    17
    Фамилия абонента, Продолжительность разговора в мин., Стоимость минуты разговора
    Вычислить стоимость всех разговоров.
    18
    Фамилия, Имя, Род занятий (сотрудник, студент), Год поступления
    Вычислить сотрудника, принятого на работу последним.
    19
    Название предмета,
    Преподаватель,
    Количество лекций, Количество лабораторных работ
    Вычислить количество часов занятий по всем предметам (лекции и лабораторные работы имеют продолжительность 2 часа).
    20
    Фамилия, Место жительства, Год рождения
    Определить средний возраст.
    21
    Название фирмы, Адрес, Телефон,
    Электронный адрес
    Вычислить количество фирм, указавших неправильный электронный адрес (без @).
    22
    Фамилия, Номер договора, Стоимость заказа,
    Срок исполнения
    Вычислить среднюю стоимость заказа.
    23
    Название журнала, Номер, Год выпуска
    Вычислить количество журналов, выпущенных в текущем году.
    24
    Название группы, Факультет, Количество студентов, Количество успевающих студентов
    Вычислить процент успевающих студентов по всем факультетам.
    25
    Марка телефона, Фирма изготовитель, Вес,
    Цена.
    Определить самый легкий телефон.
    2

    РиАТ, 2013
    Справочный материал
    Команды среды Netbeans

    Создать новый класс - Файл/Создать/Класс Java или в контекстном меню на диаграмме проекта Создать/Класс Java.

    Создать новый пакет - Файл/Создать/Пакет Java или в контекстном меню на диаграмме проекта Создать/Пакет Java.

    Переименовать класс, пакет — Реорганизация кода (рефакторинг) /Пере­
    именовать...

    Переместить класс в другой пакет — Реорганизация кода/Переименовать...
    Класс в Java
    Объявление класса на языке Java обычно помещается в отдельный файл, имя которого совпадает с именем класса. Класс помещается в пакет. Пакет — это средство физического и логического группирования классов. В одном пакете могут находиться несколько классов.
    Свойства и методы класса, а также и сам класс, имеют различные уровни доступа:
    private — обозначает возможность доступа только для данного класса или его объектов,
    protected — доступно классу, его наследникам и их объектам,
    public — обозначает публичный доступ, т.е. возможность доступа к данному классу для классов из других пакетов, при этом необходимо импортировать данный класс командой import:
    import имя_пакета.имя_класса;
    без модификатора — разрешает доступ к классу и его объектам классам из того же пакета.
    Модификатор доступа действует только на один член класса.
    package mypackage; // Принадлежность класса к пакету public class myClass {
    private int val;
    public myClass(){ // Конструктор по умолчанию val = 0;
    }
    public myClass(int v){ // Конструктор с параметрами val = v;
    }
    public myClass(myClass obj){ // Конструктор копирующий val = obj.val;
    3

    РиАТ, 2013
    }
    public void setVal(int v){ // Метод изменяет значение свойства val = v;
    }
    public int getVal(){ // Метод для чтения значения свойства return val;
    }
    }
    Создание объектов на основе класса
    myClass obj1 = new myClass( ); здесь obj1 — ссылка на объект, new myClass( ) - создание объекта с участием конструктора по умолчанию.
    myClass obj2 = new myClass (num);
    здесь obj2 — ссылка на объект, new myClass( num) - создание объекта с участием конструктора с параметром. Переменная num по типу соответствует типу свойства.
    myClass obj3 = new myClass (obj2);
    здесь obj3 — ссылка на объект, new myClass( obj2) - создание объекта с участием копирующего конструктора (obj3 — копия obj2).
    Обращение к члену класса
    obj1.setVal(12); // Заполнение свойства
    System.out.println(obj1.getVal()); // вывод значения свойства
    Создание массива объектов
    Для создания массива надо создать ссылочную переменную, создать элементы массива и проинициализировать члены массива:
    myClass[ ] mas_obj = new myClass[3]; // создаем массив ссылок int i;
    for(i=0;i<3;i++)
    mas_obj [i] = new myClass( ); // создание объектов и заполнение
    // массива ссылок
    Чтение из текстового файла
    Для чтения из текстового файла используется класс FileReader. Т.к. заданный файл может быть не найден, следует включит перехват данной исключительной ситуации — ошибки ввода/вывода — с помощью блока try­catch. В блок try помещается код, который может вызвать данную ошибку, а блок catch содержит описание действий, которые надо выполнить при возникновении исключительной ситуации:
    4

    РиАТ, 2013
    import java.io.*;
    String str;
    try{
    BufferedReader br=new BufferedReader(new
    FileReader("test.txt"));
    // чтение из файла очередной строки в цикле до конца файла
    // и вывод на экран while ((str=br.readLine())!=null){
    System.out.println(str);
    }
    br.close()
    }
    catch (IOException exc){ // перехват ошибки чтения из файла
    System.out.println("IO error!" + exc);
    }
    Запись в текстовый файл
    Класс FileWriter представляет собой поток, через который осуществляется запись в файл. Создание потока:
    FileWriter (String filename) throws IOException
    FileWriter (String filename,boolean append) throws IOException
    Первый вариант создает поток на запись в файл. Если файла с указанным именем нет, то он будет создан, если файл уже существует, то при записи имеющиеся в нем данные будут заменены на новые.
    Параметр append во втором варианте определяет режим записи в файл. Если append имеет значение false, то выполняется перезапись данных, если true, то происходит запись данных в конец файла.
    Запись в файл выполняется методом класса FileWriter write (String str).
    import java.io.*;
    // Запись в файл целых чисел
    FileWriter fr = new FileWriter(Filename);
    int i, p = 4;
    for(i=0;i int tmp = (int)(Math.random()*1000);
    5

    РиАТ, 2013
    String str = String.format("%d",tmp);
    fr.write(str+"\n");
    }
    fr.close();
    6


    написать администратору сайта