【与OJ握手言和】浅谈JAVA中Scanner.hasNext()在oj中的作用

本文探讨了在OJ题目中遇到的不给定输入数据量,仅以EOF作为终止标志的问题。通过对比C语言与Java的处理方式,详细讲解了如何使用Java的hasNext()方法正确读取直至EOF,避免程序陷入无限等待状态。

OJ中有那种不给输入数据量,只会在数据尾部加EOF的题目,例如:
9273:PKU2506Tiling
在用c语言时,这种数据只要while(cin>>input)就能自动跳出循环,而在java中,nextInt只会让java傻等着。

正确的解决办法:

while(scanner.hasNext())
{
System.out.println(scanner.nextInt());
}

hasNext的作用是,检测输入流中是否有结束输入的控制符,比如0x1A(EOF,Ctrl-Z),这个还可以自定义:hasNext("#"),以#作为结束符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值