首页 > 文章列表 > 如何使用Scanner类的useDelimiter()方法设置用户输入字符串的分隔符

如何使用Scanner类的useDelimiter()方法设置用户输入字符串的分隔符

Scanner类 useDelimiter()方法 用户输入字符串 分隔符设置
339 2023-07-30

如何使用Scanner类的useDelimiter()方法设置用户输入字符串的分隔符

Scanner类是Java中一个非常有用的工具类,它使得从标准输入、文件和字符串中进行读取变得非常简便。Scanner类提供了许多有用的方法,其中一个是useDelimiter()方法,用于设置输入时使用的分隔符。使用该方法可以方便地读取以指定分隔符分隔的用户输入字符串。

下面是一个示例,演示如何使用Scanner类的useDelimiter()方法设置分隔符。

import java.util.Scanner;

public class ScannerDelimiterExample {
    public static void main(String[] args) {
        // 创建Scanner对象,并指定输入来源为标准输入System.in
        Scanner scanner = new Scanner(System.in);

        // 使用useDelimiter()方法设置分隔符为逗号和空格
        scanner.useDelimiter("[,s]+");

        // 提示用户输入一串以逗号和空格分隔的字符串
        System.out.print("请输入一串以逗号和空格分隔的字符串:");

        // 读取用户输入的字符串
        while (scanner.hasNext()) {
            String word = scanner.next();
            System.out.println("读取的单词:" + word);
        }

        // 关闭Scanner对象
        scanner.close();
    }
}

在上述示例中,我们首先创建了一个Scanner对象,并使用System.in设置输入来源为标准输入。然后,我们调用useDelimiter()方法,将分隔符设置为正则表达式"[,s]+",表示逗号和一个或多个连续的空格。这样设定分隔符后,我们就可以方便地一次获取以逗号和空格分隔的每个单词。

接下来,我们使用System.out.print()方法提示用户输入一串以逗号和空格分隔的字符串。然后,通过while循环结合hasNext()和next()方法,逐个读取用户输入的每个单词,并使用System.out.println()方法输出读取到的单词。

最后,我们要记得关闭Scanner对象,以释放资源。

运行上述代码后,用户可以输入一串以逗号和空格分隔的字符串。程序将会读取并输出每个单词,直到输入结束。例如,如果用户输入"Hello, world! How are you today?",程序将输出以下内容:

读取的单词:Hello
读取的单词:world!
读取的单词:How
读取的单词:are
读取的单词:you
读取的单词:today?

通过使用Scanner类的useDelimiter()方法,我们可以方便地设置用户输入字符串的分隔符,从而更加灵活地处理用户输入。无论是读取标准输入、读取文件还是读取字符串,都可以使用这个方法设置适当的分隔符,以满足具体需求。