Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, имеет ли строка определенную длину на Java. Мы рассмотрим основные шаги, начиная с использования метода length() для получения длины строки. Затем вы узнаете, как сравнить эту длину с ожидаемым значением и, что особенно важно, как обрабатывать возможные нулевые (null) строки, чтобы избежать ошибок. К концу этого практического занятия вы будете хорошо понимать, как выполнять надежные проверки длины строк в своих Java-приложениях.
Использование метода length() для получения длины строки
На этом этапе мы научимся определять длину строки на Java с помощью метода length(). Метод length() является встроенной функцией в Java, которая возвращает количество символов в строке.
Сначала создадим новый Java-файл с именем
StringLength.javaв директории~/project. Для этого можно щелкнуть правой кнопкой мыши в проводнике файлов слева и выбрать "New File", а затем ввестиStringLength.java.Откройте файл
StringLength.javaв редакторе и добавьте следующий код:public class StringLength { public static void main(String[] args) { String greeting = "Hello, LabEx!"; int length = greeting.length(); System.out.println("The length of the string is: " + length); } }Рассмотрим новые элементы кода:
String greeting = "Hello, LabEx!";: Эта строка объявляет переменнуюgreetingтипаStringи присваивает ей значение"Hello, LabEx!".int length = greeting.length();: Именно здесь мы используем методlength(). Мы вызываемlength()для строкиgreeting, и он возвращает количество символов (включая пробелы и знаки препинания). Затем это число сохраняется в целочисленной переменной с именемlength.System.out.println("The length of the string is: " + length);: Эта строка выводит текст "The length of the string is: ", за которым следует значение, хранящееся в переменнойlength.
Сохраните файл (Ctrl+S или Cmd+S).
Теперь откройте Терминал внизу WebIDE и убедитесь, что вы находитесь в директории
~/project. Если необходимо, можно использовать командуcd ~/project.Скомпилируйте Java-программу с помощью команды
javac:javac StringLength.javaЕсли ошибок нет, то вы не должны увидеть никакого вывода.
Запустите скомпилированную Java-программу с помощью команды
java:java StringLengthВы должны увидеть следующий вывод:
The length of the string is: 13Этот вывод подтверждает, что метод
length()правильно посчитал количество символов в строке "Hello, LabEx!", которое равно 13.
Вы успешно использовали метод length() для определения длины строки на Java!
Сравнение длины с ожидаемым значением
На предыдущем этапе мы научились определять длину строки. Теперь используем эти знания для сравнения длины строки с ожидаемым значением. Это распространенная задача в программировании, например, для проверки, удовлетворяет ли пароль минимальному требованию по длине.
Мы изменим файл StringLength.java, который мы создали на предыдущем этапе.
Откройте файл
StringLength.javaв редакторе WebIDE.Измените метод
main, чтобы включить сравнение. Замените существующий методmainследующим кодом:public class StringLength { public static void main(String[] args) { String password = "mysecretpassword"; int minLength = 8; // Minimum required length int passwordLength = password.length(); System.out.println("Password: " + password); System.out.println("Password length: " + passwordLength); System.out.println("Minimum required length: " + minLength); if (passwordLength >= minLength) { System.out.println("Password meets the minimum length requirement."); } else { System.out.println("Password does NOT meet the minimum length requirement."); } } }Рассмотрим внесенные изменения:
- Мы изменили имя переменной строки на
passwordи присвоили ей другое значение. - Мы ввели новую целочисленную переменную
minLengthдля хранения минимально требуемой длины. - Мы вычисляем
passwordLengthс помощью методаlength(), как и раньше. - Мы добавили оператор
if. Операторifпроверяет, является лиpasswordLengthбольше или равноminLength. - Если условие (
passwordLength >= minLength) истинно, выполняется код внутри блокаif, выводящее сообщение об успехе. - Если условие ложно, выполняется код внутри блока
else, выводящее сообщение о неудаче.
- Мы изменили имя переменной строки на
Сохраните файл (Ctrl+S или Cmd+S).
Откройте Терминал и убедитесь, что вы находитесь в директории
~/project.Скомпилируйте измененную Java-программу:
javac StringLength.javaОпять же, отсутствие вывода означает успешную компиляцию.
Запустите программу:
java StringLengthВ зависимости от текущего значения
passwordиminLengthвы должны увидеть вывод, похожий на следующий:Password: mysecretpassword Password length: 16 Minimum required length: 8 Password meets the minimum length requirement.Попробуйте изменить строку
passwordв коде на что - то короче 8 символов (например,"short"), сохранить файл, перекомпилировать и запустить программу снова, чтобы увидеть выполнение блокаelse.
Теперь вы научились сравнивать длину строки с определенным значением с помощью оператора if!
Обработка нулевых строк при проверке длины
На предыдущих этапах мы работали с строками, имеющими реальные символьные значения. Однако в программировании переменная строкового типа может иногда иметь специальное значение, называемое null. Значение null означает, что переменная не ссылается на какой - либо объект. Если вы попытаетесь вызвать метод, такой как length(), для строки со значением null, ваша программа завершится аварийно с ошибкой NullPointerException.
На этом этапе мы научимся безопасно обрабатывать строки со значением null перед попыткой получить их длину.
Откройте файл
StringLength.javaв редакторе WebIDE.Измените метод
main, чтобы включить проверку наnull. Замените существующий методmainследующим кодом:public class StringLength { public static void main(String[] args) { String potentialString = null; // This string is null int minLength = 5; // Minimum required length System.out.println("String to check: " + potentialString); System.out.println("Minimum required length: " + minLength); if (potentialString != null) { int stringLength = potentialString.length(); System.out.println("String length: " + stringLength); if (stringLength >= minLength) { System.out.println("String meets the minimum length requirement."); } else { System.out.println("String does NOT meet the minimum length requirement."); } } else { System.out.println("Cannot check length: The string is null."); } } }Рассмотрим внесенные изменения:
- Мы изменили имя переменной на
potentialStringи изначально установили ее значение равнымnull. - Мы добавили внешний оператор
if:if (potentialString != null). Этот оператор проверяет, не является ли переменнаяpotentialStringравнойnull. - Код для получения длины (
potentialString.length()) и последующее сравнение длины теперь находятся внутри этого блокаif. Это гарантирует, что методlength()вызывается только в том случае, если строка не равнаnull. - Блок
elseвнешнего оператораifобрабатывает случай, когда строка являетсяnull, выводя сообщение о том, что длину нельзя проверить.
- Мы изменили имя переменной на
Сохраните файл (Ctrl+S или Cmd+S).
Откройте Терминал и убедитесь, что вы находитесь в директории
~/project.Скомпилируйте измененную Java - программу:
javac StringLength.javaОтсутствие вывода означает успешную компиляцию.
Запустите программу:
java StringLengthПоскольку
potentialStringравноnull, вы должны увидеть следующий вывод:String to check: null Minimum required length: 5 Cannot check length: The string is null.Теперь попробуйте изменить значение
potentialStringна не - нулевую строку, например,"Java", сохранить файл, перекомпилировать и запустить программу снова. Вы должны увидеть, что выполняется проверка длины.String potentialString = "Java"; // This string is not nullПосле перекомпиляции и запуска:
String to check: Java Minimum required length: 5 String length: 4 String does NOT meet the minimum length requirement.Это демонстрирует, как безопасно обрабатывать строки со значением
nullперед попыткой вызвать на них методы, предотвращая аварийное завершение программы.
Резюме
В этом практическом занятии (лабораторной работе) мы научились определять длину строки в Java с использованием встроенного метода length(). Мы практиковались в создании Java-программы, использовании метода length() для получения количества символов в строке, а затем компилировали и запускали программу, чтобы увидеть результат. Этот фундаментальный навык является важным для различных манипуляций и проверок строк в программировании на Java.



