当前位置: 首页 > 知识库问答 >
问题:

使用java扫描仪类在结束时以空格行读取

张嘉佑
2023-03-14

我正在帮助我的姐妹们编写一个简单的java程序,我被难倒了。他们只学习了扫描器类来读取文件内容,所以我认为他们应该使用扫描器类。每一行都包含字母和可能的空格,我们希望将每一行存储在一个数组中。在其中一行包含以下内容之前,此操作非常有效:

abcde f(f后的空格应作为行的一部分读入)。

但是,扫描仪。nextLine()似乎忽略了最后一个空格。我想我可以将扫描仪定界符设置为\n如下:

scanner.useDelimiter("\n")

然后使用扫描仪。Next(),但这似乎仍然不起作用。我在谷歌上搜索了一下,看了一些问题。这里的这个问题似乎表明scanner类不容易做到这一点:如何使用scanner读取空白。下一个()

有什么想法吗?我觉得有一个简单的方法我可以忽略。

这是我在台词中读到的:

While(scanner.hasNextLine(){
    String nextLine = scanner.nextLine();

使用上面的示例,我的字符串将为abcdef。它将在最后清除空的空间。我还尝试使用了hasNextnext。请原谅我的格式设置,我正在电话上编辑。

共有1个答案

闾丘玮
2023-03-14

将文本文件保存为ANSI编码,然后重试。

通过右扫描仪。nextLine()将捕获行中的所有内容,包括空格。

scanner.next()不会捕获空白,因为默认情况下分隔符是空白。

 类似资料:
  • 我有麻烦更新一个变量的名称为一个对象使用扫描器。我提供一个菜单给用户,用户选择他的选择(更新名称),程序要求用户输入新的名称,扫描器读取system.in并更新变量的名称。唯一的问题是程序不能读取带有空格的字符串。例如: 如果键入类似的内容,则可以执行此操作,但如果键入,则将得到,输出示例如下 所以我猜它只读取t,当扫描器扫描shipProperty值时,它读取dog而不是等待输入。我读过关于的文

  • 问题内容: 编辑 以便进一步阅读:问题是我的输入文件已损坏。 我不明白我在做什么错: 我正在使用此代码: 哪个工作正常。现在,由于某种原因,我想换一个扫描仪。我的代码变成: 这次,我们从不输入while,因为r.hasNextLine()始终返回“ false”。关于我在做什么错的任何想法吗? 我精确地说,没有其他更改,文件仍然相同。 编辑 :我还精确地我尝试了另一个文件,并得到相同的结果,这意味

  • 在我大学项目的一部分中,我必须得到一些行的文本,然后将其保存在字符串或字符串数组中。我的问题是,在scanner类中,使用方法只能得到一行输入。所以我无法得到其他行。请帮帮我。 }

  • 我有一个Java程序,需要在多个类的多个点上从控制台获取用户输入。我试着在每节课上使用一台扫描仪,但当我关闭一台扫描仪时,它会关闭系统。所以我想在整个程序中使用相同的扫描仪。我在主类中打开了扫描仪,但在其他类中如何使用相同的扫描仪?

  • 我想从标准输入中读取一个双数,但是我总是得到这个异常: Java . util . inputmismatchexception 如果输入是整数,那没问题,但是如果是双精度的,我会得到异常。 线程“main”Java . util . inputmismatchexception Java . util . scanner . throw for(scanner . Java:864)Java .

  • 我在尝试运行此程序时遇到以下异常。我正在使用在线编译器。甚至在读取字符串后尝试使用nextLine(),但没有成功。 我得到了以下异常:输入客户名称:在线程“main”java中输入客户id异常。util。NoSuchElementException:在java中找不到行。util。扫描仪。nextLine(Scanner.java:1585)位于Main。main(main.java:12)