Java——ACM编程
tips:Mac版本的IDEA控制台,输入cmd+d表示文件末尾EOF。EOF是一种状态,表示没有更多的输入了,并不占用空间。
方法 | 是否读取/消费输入 | 是否移动指针 | 用途 |
---|---|---|---|
hasNextXxx() | ❌ 否 | ❌ 否 | 判断是否可以安全读取某种类型 |
nextXxx() | ✅ 是 | ✅ 是 | 真正读取并移除输入 |
1. hasNextXxx( )
1.1 hasNext( )
作用:跳过输入开头的所有空白字符(空格、制表符、换行符),然后判断后面是否还有非空白字符。
所以它会:
- 从当前位置开始,跳过所有空白字符(包括换行!)
- 如果遇到非空白字符 → 返回
true
- 如果到达输入末尾(EOF)→ 返回
false
1.2 hasNextLine()
hasNextLine()
的逻辑是:
“输入流中是否还存在一整行内容(直到下一个换行符或文件末尾)?”
- 它会检查是否已经到达输入的末尾(EOF)
- 只要还没到末尾,哪怕下一行是空的(只有换行符),也返回
true
- 只有当所有行都读完了,才会返回
false