
З авдання № 4
“Застосування пріоритетів для обробки даних”
1. Зміст виконання завдання
Змістом виконання завдання є написання і дебагинг програмного коду на алгоритмічній мові Java, в якому застосовуються приорітети для обробки даних під час ініціалізації користувача в деякої системі.
2. Порядок виконання завдання
1) Написати програмний код за індивідуальним завданням.
2) Завантажити програмний код до інтерпретатора Java.
3) Виконати старт і дебагинг програми і виправити помилки, якщо такі з’являться.
4) Оформити розділ пояснювальної записки.
Програмний код:
//Инициализация пользователя Initialization.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Initialization extends JFrame
implements ActionListener {
JButton button;
JFrame frame,welcome;
JLabel labelLog,labelPswd;
TextField inputPswd;
JTextArea title;
Container container;
int attempt = 1;
//Список пользователей и паролей
String[][] logAndPass = new String[][] {{"koza","koza"},
{"tema","tema"},
{"vovic","vovic"}};
JTextField inputLog = new JTextField(70);
JLabel labelOutput = new JLabel();
public
Initialization() {
Container container = getContentPane();
container.setLayout(new BorderLayout(5, 0));
container.setBackground(Color.yellow);
Font font1 = new Font("TimesRoman", Font.BOLD, 15);
//Рабочая кнопка
JButton button = new JButton("Enter");
button.addActionListener(this);
button.setFont(font1);
inputPswd = new TextField(15);
inputPswd.setEchoChar('*');
inputLog.requestFocusInWindow();
//Метки для логина и пароля
JLabel labelLog = new JLabel("Login: ");
labelLog.setFont(font1);
JLabel labelPswd = new JLabel("Password: ");
labelPswd.setFont(font1);
labelOutput.setFont(font1);
labelOutput.setHorizontalAlignment(JLabel.CENTER);
JTextArea title = new JTextArea("This is initialization programm for enter system."+"\n"+" You must enter your login and password.", 10, 20);
title.setBackground(Color.yellow);
title.setEditable(false);
title.setFont(font1);
JPanel panelLog = new JPanel();
panelLog.setBackground(Color.yellow);
//Размещение элементов
panelLog.setLayout(new GridLayout(2,2,5,10));
panelLog.add(labelLog);
panelLog.add(inputLog);
panelLog.add(labelPswd);
panelLog.add(inputPswd);
container.setLayout(null);
container.add(title);
title.setBounds(10,5,330,40);
container.add(panelLog);
panelLog.setBounds(25,70,200,60);
container.add(button);
button.setBounds(190,150,80,25);
container.add(labelOutput);
labelOutput.setBounds(5,180,340,60);
}
public static void main(String args[]) {
//Главное окно
Initialization frame = new Initialization();
frame.setTitle("Task 4: Initialization program ");
frame.setLocation(100, 100);
frame.setSize(360, 290);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//Обработка событий
public void actionPerformed(ActionEvent e){
//Проверка на количество попыток входа в систему
if (attempt >= 3) //Отказ входа в систему
{JOptionPane.showMessageDialog(welcome, "You used three attempts. Try again later");
inputLog.setVisible(false);
inputPswd.setVisible(false);
labelOutput.setText("Good bye!");
}
//Проверка на отсутствие введенных символов
else{
if (inputLog.getText().equals(""))
labelOutput.setText("You did not enter login. Please, try again.");
else if (inputPswd.getText().equals(""))
labelOutput.setText("You did not enter password. Please, try again.");
//Проверка логина и пароля
else {if (doCheck(inputLog.getText(),inputPswd.getText()))
JOptionPane.showMessageDialog(welcome, "Welcome to the system");
/
/Неверный
логин или
пароль
else
{labelOutput.setText("It is not correct! Try again");
attempt = attempt +1;
}
}
inputLog.setText("");
inputPswd.setText("");
inputLog.requestFocusInWindow();
}
}
//Сравнение введенных данных со списком имеющихся
public boolean doCheck(String login, String pass) {
boolean buf = false;
for(int i=0;i < logAndPass.length; i++)
if (((logAndPass[i][0]).equals(login))&&((logAndPass[i][1]).equals(pass)))
buf=true;
return buf;
}
}
Результат роботи програми:
Висновок: В ході виконання завдання була написана програма на алгоритмічній мові Java, в якої застосовуються приорітети для обробки даних під час ініціалізації користувача в деякої системі.