Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №2 ТПП.docx
Скачиваний:
1
Добавлен:
29.04.2024
Размер:
163.46 Кб
Скачать

Подготовка примера модели системы

Для проектирования UML диаграммы следует провести рефакторинг кода, представленный в листинге 1.

Листинг 1. Исходный код программы

import javax.swing.JOption Pane; // Импорт классов

class UsingIfDemof // Класс с главным методом программы:

{

public static void main(String [] args) // Главный метод программы:

{

String input,txt,title; // Текстовые переменные:ber

int number; // Целочисленная переменная:

ImageIncon img; // Объектная переменная для записи ссылки на объект программы

iput=JOptionPane.showlnputDialog(null, "Введите целое число", "Проверка числа", JOptionPane.QUESTION_MESSAGE); // Отображение окна с полем ввода: надпись над полем ввода, заголовок окна, тип пиктограммы

};

}

if(input==null) // Проверка выполнен ли ввод: если ввод не выполнен

{

JOptionPane.showMessageDialog(null, "Вы не ввели число", "Ошибка ввода", JOptionPane.ERROR_MESSAGE); // Отображение диалогового окна: Сообщение, Заголовок окна, Тип окна

System.exit(0); // Завершение выполнения программы

number=Integer.parseInt(input); // Преобразование текста в число:

}

// Проверка числа на четность:

if(number%=0) // Проверка числа на четность:

{

img=new ImageIcon("d:/books/pictures/even.png"); // Если число четное: создание объекта пиктограммы:

txt="Число" +number+ "- четное"; // Текст сообщения:

title="Четное число"; // Заголовок окна:

}

else // Если число нечетное

{

img=new ImageIcon("d:/books/pictures/add.png"); // Создание объекта пиктограммы:

txt="Число"+number+" - нечетное"; // Текст сообщения:

title="Нечетное число"; // Заголовок окна:

}

JOptionPane.showMessageDialog(null,txt,title,JOptionPane.PLAIN_MESSAGE img); // Отображение диалогового окна: Текст сообщения, Заголовок окна, Тип сообщения, Пиктограмма}

Итоговый код программы отражен в Листинге 2.

Листинг 2. Итоговый код программы

import javax.swing.ImageIcon;

import javax.swing.JOptionPane; // Импорт классов

class UsingIfDemo // Класс с главным методом программы

{

    public static void main(String[] args) // Главный метод программы

    {

        String input, txt, title; // Текстовые переменные

        int number; // Целочисленная переменная

        ImageIcon img; // Объектная переменная для записи ссылки на объект пиктограммы

        input = JOptionPane.showInputDialog(null, "Введите целое число", "Проверка числа", JOptionPane.QUESTION_MESSAGE); // Отображение окна с полем ввода

       

        if (input.trim().isEmpty()) // Проверка на пустую строку

        {

            JOptionPane.showMessageDialog(null, "Вы не ввели число", "Ошибка ввода", JOptionPane.ERROR_MESSAGE); // Отображение диалогового окна

            System.exit(0); // Завершение выполнения программы

        }

        try

        {

            number = Integer.parseInt(input); // Преобразование текста в число

            // Проверка числа на четность

            if (number % 2 == 0) // Проверка числа на четность

            {

                img = new ImageIcon("C:/Users/Acer/Documents/even.png"); // Если число четное: создание объекта пиктограммы

                txt = "Число " + number + " - четное"; // Текст сообщения

                title = "Четное число"; // Заголовок окна

            }

            else // Если число нечетное

            {

                img = new ImageIcon("\"C:/Users/Acer/Documents/odd.png"); // Создание объекта пиктограммы

                txt = "Число " + number + " - нечетное"; // Текст сообщения

                title = "Нечетное число"; // Заголовок окна

            }

            JOptionPane.showMessageDialog(null, txt, title, JOptionPane.PLAIN_MESSAGE, img); // Отображение диалогового окна

        }

        catch (NumberFormatException e)

        {

            JOptionPane.showMessageDialog(null, "Некорректный формат числа", "Ошибка ввода", JOptionPane.ERROR_MESSAGE); // Отображение диалогового окна

            System.exit(0); // Завершение выполнения программы

        }

    }

}

В рамках рефакторинга кода были внесены следующие изменения

  1. Исправлены имена импортированных классов и методов (JOptionPane, ImageIcon).

  2. Исправлены имена переменных (iput на input, ImageIncon на ImageIcon).

  3. Исправлена логика проверки четности числа (if (number % 2 == 0)).

  4. Исправлено использование метода showMessageDialog для отображения изображения пиктограммы.