import java.util.Scanner;
public class Authenticator {
public static void main(String[] args) {
String login;
String password;
Scanner scan = new Scanner(System.in);
System.out.println("login:");
login = scan.next();
System.out.println("password:");
password = scan.next();
if(login.equals("user") && password.equals("qwerty")){
System.out.println("Authentication completed");
}else{
System.out.println("Invalid login or password");
}
scan.close();
}
}
Объяснение:
Краткий алгоритм этой программы:Импортируем класс Scanner(для ввода текста);В методе main создаем две переменные типа String и одну типа Scanner;Вводим значения при а;Если логин и пароль верны,то выводим Authentication completed. Иначе выводим Invalid login or password;Закрываем Scanner;
Объяснение:
1)При перекодировке сообщения из 8-битного кода в 16-битную кодировку UNICODE его объём увеличился на 2048 байтов.
2)Логин занимает объём памяти равной = 20 * 5 бит = 100 бит (5 бит, т.к )
Аналогично с паролем, он занимает 15 * 4 бита = 60 бит памяти
Для хранения результатов выбора пола достаточно одного бита ( всего два возможных варианта() - ж или м,).
Итого одна учетная запись занимает: 100 + 60 +1 = 161 бит памяти.
Но в условии сказано, что она кодируется минимально возможным целым! кол-вом байт, значит: 161/8 = 20,125 байт, округляем в большую сторону - 21 байт.
Всего 30 записей: 21 * 30 = 630 байт.
Значит верный ответ под номером 3)
2)Т.к. на каждую из восьми позиций пароля можно поставить любую цифру из девяти (1,2,3,...,9 - всего 9 цифр), получаем количество комбинаций пароля 9^8=387420489
3) непомню(