问题标签 [java.util.scanner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2910 浏览

java - 使用 java.util.scanner.hasNext(regex) 获取整行

我正在用 Java 做一些事情,需要输入与模式 ^[1-5]$ 匹配。我应该有一个 while 循环遍历每一行输入,根据模式检查它,如果没有则输出错误消息。

须藤代码:

我可以使用java.util.Scanner.hasMatch("^[^1-5]$"),但这只会匹配一个标记,而不是整行。关于如何使 hasMatch 与整条线匹配的任何想法?(将分隔符设置为“\n”或“\0”不起作用。)

编辑:如果这是不可能的,还有其他方法吗?

0 投票
1 回答
926 浏览

java - Java Scanner 不会跟随文件

试图跟踪/解析一些日志文件。条目以日期开头,然后可以跨越多行。

这有效,但永远不会看到要归档的新条目。

Scanner 的 next() 或 hasNext() 似乎没有检测到新的文件条目。

知道我还能如何实现,基本上,带有自定义分隔符的 tail -f 。


好的 - 使用凯利的建议,我正在检查并刷新扫描仪,这很有效。谢谢 !!

如果有人有改进建议请做!

0 投票
12 回答
413261 浏览

java - 如何将扫描仪输入放入数组中......例如几个数字

0 投票
4 回答
11210 浏览

java - 如何在 Java 中编辑 .txt 文件

我想我可以使用“扫描仪”来读取 .txt 文件,但我该如何编写甚至创建新的文本文件?

0 投票
1 回答
1035 浏览

java - 用来自用户的数据逐渐填充数组

我正在尝试用用户输入的单词填充数组。每个单词必须比前一个长一个字母,比下一个短一个字母。它们的长度等于表行索引,从 2 开始计数。单词最终会创建一个单面金字塔,例如:
A
AB
ABC
ABCD

如何限制从扫描仪读取的单词以满足要求?目前 while 循环根本不影响扫描仪:/

这不是家庭作业。我正在尝试创建一个简单的应用程序,然后为它创建 gui。

0 投票
4 回答
5099 浏览

java - Java Scanner 使用正则表达式解析换行符(错误?)

我正在用 Java 手动开发语法分析器,我想使用正则表达式来解析各种令牌类型。问题是,如果输入不符合语法,我还希望能够准确地报告当前行号。

长话短说,当我尝试将换行符与 Scanner 类实际匹配时遇到了问题。具体来说,当我尝试使用 Scanner 类将换行符与模式匹配时,它会失败。几乎总是。但是,当我使用 Matcher 和相同的源字符串执行相同的匹配时,它也会完全按照您的预期检索换行符。这是否有原因,我似乎无法发现,或者这是我怀疑的错误?

仅供参考:我无法在 Sun 数据库中找到描述此问题的错误,因此如果是错误,则尚未报告。

示例代码:

0 投票
1 回答
971 浏览

java - 扫描仪在大约 2400 个字符后切断我的字符串

我有一些非常基本的代码,比如

其中 scan 是文件的扫描仪。

但是,在一个大约 6k 字符长的特定行上,temp 在大约 2470 个字符之后被切断。什么时候切断没有什么特别的。它在“澳大利亚”这个词的中间。如果我从行中删除字符,则删除的位置会发生变化;例如,如果我删除文件中的字符 0-100,那么扫描仪将得到以前的 100-2570。

我以前用过扫描仪来处理更大的字符串。知道可能出了什么问题吗?

0 投票
4 回答
11343 浏览

java - 如何使用 Scanner 从 Java 中的 STDIN 静默读取?

我想制作一个从 STDIN 静默读取密码的 Java 程序。我的意思是,不向终端输出任何按下的字符,也不会将其从命令行历史和操作系统 processlist 中隐藏起来ps

0 投票
6 回答
260998 浏览

java - 如何使用 Scanner 仅接受有效的 int 作为输入

我正在尝试使一个小程序更健壮,我需要一些帮助。

  1. 数字 2 必须大于数字 1

  2. 此外,如果用户输入字符而不是数字,我希望程序自动检查并忽略。因为现在当用户输入例如r而不是数字时,程序就会退出。

0 投票
1 回答
18254 浏览

java - 使用扫描仪 useDelimiter 解析文本

希望解析以下文本文件:
示例文本文件:

我想解析上面的文本,以便我可以拥有三个变量:

我尝试使用扫描仪和 useDelimiter,但是,我在如何设置它以获得如上所述的结果时遇到问题。这是我的第一次尝试:

结果如下:

我想要的是:

任何可以让我分别提取所有三个字符串的帮助将不胜感激。