当前位置: 首页 > 编程笔记 >

Java扫描仪useDelimiter()方法及示例

唐经国
2023-03-14
本文向大家介绍Java扫描仪useDelimiter()方法及示例,包括了Java扫描仪useDelimiter()方法及示例的使用技巧和注意事项,需要的朋友参考一下

扫描仪类useDelimiter()方法

语法:

    public Scanner skip(Pattern patt);
    public Scanner skip(String patt);
  • useDelimiter()方法在java.util包中可用。

  • useDelimiter(Pattern patt)方法用于将定界符样式放入此Scanner的给定样式(样式)。

  • useDelimiter(String patt)方法用于将定界符样式放入由此Scanner的给定字符串(patt)形成的样式。

  • 在设置定界符模式时,这些方法不会引发异常。

  • 这些是非静态方法,只能通过类对象访问,如果尝试使用类名称访问这些方法,则会收到错误消息。

参数:

  • 在第一种情况下,请使用useDelimiter(Pattern patt)

    • 模式patt –表示定界符模式。

  • 在第二种情况下,useDelimiter(String patt)

    • list-paddingleft-2" style="list-style-type: square;">
    • 字符串patt –表示表示定界符模式的字符串。

返回值:

在这两种情况下,方法的返回类型均为Scanner,它将检索此Scanner对象。

范例1:

//Java程序演示示例 
//的useDelimiter()扫描仪的方法

import java.util.*;
import java.util.regex.*;

public class UseDelimiter {
 public static void main(String[] args) {
  String str = "Java Programming! 3 * 8= 24";

  //实例化扫描仪
  Scanner sc = new Scanner(str);

  //通过使用useDelimiter(Pattern)方法
  //使用给定的定界符
  //模式
  sc.useDelimiter(Pattern.compile("IH--"));
  System.out.println("sc.useDelimiter(Pattern): " + sc.delimiter());

  //扫描仪关闭
  sc.close();
 }
}

输出结果

sc.useDelimiter(Pattern): IH--

范例2:

import java.util.*;
import java.util.regex.*;

public class UseDelimiter {
 public static void main(String[] args) {
  String str = "Java Programming! 3 * 8= 24";

  //实例化扫描仪
  Scanner sc = new Scanner(str);

  //通过使用useDelimiter(String)方法
  //使用给定的定界符
  //字符串
  sc.useDelimiter("IH--");
  System.out.println("sc.useDelimiter(String): " + sc.delimiter());

  //扫描仪关闭
  sc.close();
 }
}

输出结果

sc.useDelimiter(String): IH--
 类似资料:
  • 问题内容: 使用Scanner类中的useDelimiter时遇到一些问题。 如果我有这个输入 美国广播公司 输出将是 AB 然后等到我键入另一个“-”以打印出最后一个字符 但是,如果我没有用户输入数据,而是将字符串插入到Scanner中,则代码将起作用。原因是什么?如何解决?我不想使用StringTokenzier 问题答案: 如果没有等待您输入另一个,则将错误地假定您已完成输入。 我的意思是,

  • < b >想改进这个问题?更新问题,以便通过编辑此帖子用事实和引用来回答问题。 我知道使用nextInt()方法不会消耗新行字符,所以为了处理这个问题,我需要使用一个空的nextLine()方法继续。 我的问题是,作为一种替代解决方案,程序是否会对任何类型的运行时错误开放以使用两个扫描仪,一个用于字符串输入,一个用于整数? 感谢您的任何帮助! (经过编辑,因此问题不那么主观)

  • 问题内容: 如何将扫描仪的定界符设置为;或换行? 我试过: 但这不起作用。 问题答案: 通常,在模式中,您需要将翻倍。 所以,尝试 要么 编辑 :如果是问题,则可能要尝试以下操作: 它匹配的一个或多个,和。 注意 :我还没有尝试过这些。

  • 问题内容: 我有一个创建多个对象并将其放入一个类的类,如下所示: 我有一个从控制台扫描输入“ add”的应用程序,如果找到该应用程序,则调用如下所示的方法: 该应用程序应允许用户根据需要多次输入“添加”,但是在add调用该方法后将出现错误“找不到行” 。 我猜这是因为方法中的尚未关闭,然后在需要时重新打开。这是程序的问题吗?如果是,我将如何修复它? 请注意,该程序尚未完成,因为我将添加一种出售这些

  • 问题内容: 我正在尝试读取具有多个单词的字符串,即。洛杉矶或纽约市。如果有两个词并将它们分割在变量之间,则使用scanner.next()进行“出发”和“到达”只会读取第一个。nextLine()也不是很幸运。这是我的代码: 我知道这很简单,但我还没有弄清楚。 这是上面的代码的输入/输出: 输入航班号:29 输入出发城市:(立即跳至下一行) 输入到达城市: -—我真正想要的是---- 输入航班号:

  • 问题内容: 我想为扫描器指定一个分隔符,该分隔符可以按某种模式进行拆分,但不会从令牌中删除该模式。我似乎无法完成这项工作,因为正则表达式所标识的所有内容也会作为分隔符的一部分被占用。有什么建议? 我的具体问题是,我的文件看起来像: 我想从文本/数字混合+行中分离出来,直到下一个文本/数字混合。我有正则表达式来标识它们,但是如上所述,因为定界符占用了我想要的内容,所以使用了它。 编辑:代码添加: 是