Как я могу прочитать отдельные символы в строке и определить, являются ли они определенными символами из таблицы ascii?
Я пытаюсь заставить пользователя ввести пароль из 6 символов. Первые 3 символа должны быть заглавными буквами, а последние 3 символа-цифрами. Если это неправильно, они должны повторно ввести пароль. Наконец, пароль следует превратить в "секретный пароль", увеличив 6 символов на 2 (в таблице ascii), а затем распечатать этот новый пароль. Я получаю ошибку во время выполнения, и я не понимаю, почему. Может ли кто-нибудь решить эту проблему?
String password = "", newPassword = password + 2; char char1 = password.charAt(1), char2 = password.charAt(2), char3 = password.charAt(3), char4 = password.charAt(4), char5 = password.charAt(5), char6 = password.charAt(6); System.out.println("Enter a 6-character password. The first three characters should be capital letters of " + "the alphabet\nand the last three should be numbers from 1 to 9."); password = keyboard.next(); if((char1 != 65 && !(char1 < 90)) || (char2 != 65 && !(char2 < 90)) || (char3 != 65 && !(char3 < 90))) System.out.println("Incorrect characters. Re-enter password."); password = keyboard.next(); if((char4 != 1 && !(char4 < 9)) || (char5 != 1 && !(char5 < 9)) || (char6 != 1 && !(char6 < 9))) System.out.println("Incorrect characters. Re-enter password."); password = keyboard.next(); System.out.print(password + "\n" + newPassword);
Что я уже пробовал:
Я попытался изменить объявление символьной переменной и избавиться от пароля.charAt(1). Я думаю, что это то, что дает мне проблему, но я не уверен, как заставить его читать каждый символ.
PIEBALDconsult
Было бы неплохо, если бы вы предоставили текст ошибки и входные данные, которые привели к ней.
Я не думаю, что вам нужно читать каждый символ отдельно.