如何在 Java 中检查字符串是否具有特定长度

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何在 Java 中检查字符串是否具有特定的长度。我们将涵盖涉及的基本步骤,首先使用 length() 方法获取字符串的长度。然后,你将学习如何将这个长度与预期值进行比较,重要的是,如何处理可能出现的空字符串以防止错误。在本实验结束时,你将深入理解如何在 Java 应用程序中进行可靠的字符串长度检查。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/if_else -.-> lab-559984{{"如何在 Java 中检查字符串是否具有特定长度"}} java/strings -.-> lab-559984{{"如何在 Java 中检查字符串是否具有特定长度"}} java/string_methods -.-> lab-559984{{"如何在 Java 中检查字符串是否具有特定长度"}} end

使用 length() 方法获取字符串长度

在这一步中,你将学习如何在 Java 中使用 length() 方法来获取字符串的长度。length() 方法是 Java 中的一个内置函数,用于返回字符串中的字符数量。

  1. 首先,在你的 ~/project 目录下创建一个名为 StringLength.java 的新 Java 文件。你可以通过在左侧的文件资源管理器中右键单击,选择“新建文件”,然后输入 StringLength.java 来完成此操作。

  2. 在编辑器中打开 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!";:这行代码声明了一个名为 greetingString 类型变量,并将其赋值为 "Hello, LabEx!"
    • int length = greeting.length();:这是使用 length() 方法的地方。我们在 greeting 字符串上调用 length() 方法,它会返回字符串中的字符数量(包括空格和标点符号)。这个数量随后被存储在一个名为 length 的整数变量中。
    • System.out.println("The length of the string is: " + length);:这行代码会打印文本 "The length of the string is: ",后面跟着 length 变量中存储的值。
  3. 保存文件(使用 Ctrl+S 或 Cmd+S)。

  4. 现在,打开 WebIDE 底部的终端,并确保你位于 ~/project 目录下。如果需要,可以使用 cd ~/project 命令。

  5. 使用 javac 命令编译 Java 程序:

    javac StringLength.java

    如果没有错误,你将看不到任何输出。

  6. 使用 java 命令运行编译后的 Java 程序:

    java StringLength

    你应该会看到以下输出:

    The length of the string is: 13

    这个输出证实了 length() 方法正确计算出了字符串 "Hello, LabEx!" 中的字符数量,即 13 个。

你已经成功地使用 length() 方法在 Java 中获取了字符串的长度!

将字符串长度与预期值进行比较

在上一步中,你学习了如何获取字符串的长度。现在,让我们运用这些知识,将字符串的长度与预期值进行比较。这是编程中的一项常见任务,例如,检查密码是否满足最小长度要求。

我们将修改在上一步中创建的 StringLength.java 文件。

  1. 在 WebIDE 编辑器中打开 StringLength.java 文件。

  2. 修改 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,用于存储所需的最小长度。
    • 像之前一样,使用 length() 方法计算 passwordLength
    • 添加了一个 if 语句。该 if 语句检查 passwordLength 是否大于或等于 minLength
    • 如果条件 (passwordLength >= minLength) 为真,则执行 if 块中的代码,打印一条成功消息。
    • 如果条件为假,则执行 else 块中的代码,打印一条失败消息。
  3. 保存文件(使用 Ctrl+S 或 Cmd+S)。

  4. 打开终端,并确保你位于 ~/project 目录下。

  5. 编译修改后的 Java 程序:

    javac StringLength.java

    同样,没有输出表示编译成功。

  6. 运行程序:

    java StringLength

    根据当前的 passwordminLength,你应该会看到类似以下的输出:

    Password: mysecretpassword
    Password length: 16
    Minimum required length: 8
    Password meets the minimum length requirement.

    尝试将代码中的 password 字符串改为长度小于 8 个字符的内容(例如 "short"),保存文件,重新编译并再次运行程序,观察 else 块的执行情况。

现在,你已经学会了如何使用 if 语句将字符串的长度与特定值进行比较!

在长度检查中处理空字符串(Null Strings)

在前面的步骤中,我们处理的字符串都有实际的字符值。然而,在编程中,字符串变量有时可能会有一个特殊的值,即 nullnull 值表示该变量不引用任何对象。如果你尝试对一个 null 字符串调用 length() 这样的方法,程序将会抛出 NullPointerException 异常而崩溃。

在这一步中,你将学习如何在获取字符串长度之前安全地处理 null 字符串。

  1. 在 WebIDE 编辑器中打开 StringLength.java 文件。

  2. 修改 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 块内部。这确保了只有当字符串不为 null 时才会调用 length() 方法。
    • 外层 if 语句的 else 块处理字符串为 null 的情况,打印一条消息表明无法检查字符串长度。
  3. 保存文件(使用 Ctrl+S 或 Cmd+S)。

  4. 打开终端,并确保你位于 ~/project 目录下。

  5. 编译修改后的 Java 程序:

    javac StringLength.java

    没有输出表示编译成功。

  6. 运行程序:

    java StringLength

    由于 potentialStringnull,你应该会看到以下输出:

    String to check: null
    Minimum required length: 5
    Cannot check length: The string is null.

    现在,尝试将 potentialString 的值改为一个非 null 字符串,例如 "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 编程中的各种字符串操作和验证至关重要。