如何在Java中查找字符串

1. 理解问题

在开始编写代码之前,我们首先要理解要解决的问题。在这个情景中,我们需要在Java中找到一个字符串。具体来说,我们需要找到一个字符串中的特定子字符串,并返回它在原字符串中的位置。

2. 问题分析

为了更好地组织我们的思路和代码,让我们将整个过程分解为一系列步骤。 以下是我们解决这个问题的步骤和对应的代码:

步骤 描述 代码
1 输入原字符串和要查找的子字符串
2 使用字符串的 indexOf() 方法查找子字符串的索引位置 int index = originalString.indexOf(subString);
3 检查子字符串是否存在于原字符串中 if (index != -1)
4 如果子字符串存在,打印它在原字符串中的位置 System.out.println("Sub string found at index: " + index);
5 如果子字符串不存在,打印未找到的消息 System.out.println("Sub string not found!");

3. 编写代码

现在让我们逐步实现这些步骤。

首先,我们需要输入原字符串和要查找的子字符串。我们可以使用Java的 Scanner 类来获取用户的输入。

import java.util.Scanner;

public class StringFinder {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入原字符串
        System.out.print("Enter the original string: ");
        String originalString = scanner.nextLine();

        // 输入要查找的子字符串
        System.out.print("Enter the sub string to find: ");
        String subString = scanner.nextLine();

        // 其他步骤在下面添加
    }
}

接下来,我们可以使用字符串的 indexOf() 方法来查找子字符串的位置。

// 使用字符串的 indexOf() 方法查找子字符串的索引位置
int index = originalString.indexOf(subString);

然后,我们需要检查子字符串是否存在于原字符串中。

// 检查子字符串是否存在于原字符串中
if (index != -1) {
    // 子字符串存在,打印它在原字符串中的位置
    System.out.println("Sub string found at index: " + index);
} else {
    // 子字符串不存在,打印未找到的消息
    System.out.println("Sub string not found!");
}

4. 完整代码

下面是上述步骤的完整代码:

import java.util.Scanner;

public class StringFinder {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入原字符串
        System.out.print("Enter the original string: ");
        String originalString = scanner.nextLine();

        // 输入要查找的子字符串
        System.out.print("Enter the sub string to find: ");
        String subString = scanner.nextLine();

        // 使用字符串的 indexOf() 方法查找子字符串的索引位置
        int index = originalString.indexOf(subString);

        // 检查子字符串是否存在于原字符串中
        if (index != -1) {
            // 子字符串存在,打印它在原字符串中的位置
            System.out.println("Sub string found at index: " + index);
        } else {
            // 子字符串不存在,打印未找到的消息
            System.out.println("Sub string not found!");
        }
    }
}

5. 关系图

以下是本文中描述的问题和解决方案的关系图:

erDiagram
    文章 }|..| 查找字符串
    查找字符串 }|--| 问题分析
    查找字符串 }|--| 编写代码
    查找字符串 }|--| 关系图

6. 状态图

以下是查找字符串的状态图:

stateDiagram
    [*] --> 输入原字符串和要查找的子字符串
    输入原字符串和要查找的子字符串 --> 使用字符串的 indexOf() 方法查找子字符串的索引位置
    使用字符串的 indexOf() 方法查找子字符串的索引位置 --> 检查子字符串是否存在于原字符串中
    检查子字符串是否存在于原字符串中 --> 子字符串存在
    子字符串存在 --> 打印它在原字符串中的位置
    检查子字符串是否存在于原字符串中 --> 子字符串不存在