怎么解决Java while(scanner.hasNext())无法跳出问题
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,本篇内容主要讲解"怎么解决Java while(scanner.hasNext())无法跳出问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么解决Ja
千家信息网最后更新 2025年11月06日怎么解决Java while(scanner.hasNext())无法跳出问题
本篇内容主要讲解"怎么解决Java while(scanner.hasNext())无法跳出问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么解决Java while(scanner.hasNext())无法跳出问题"吧!
Java while(scanner.hasNext())无法跳出
情况说明:
该问题是在做PAT乙级1010时遇到的,我需要在键盘读入有限个数,然后两两进行计算。我一开始想的是声明一个数组,将所有读入的数字进行保存,再分别计算,但是我发现他并不会跳出我设的循环,而是一直在执行
当读入最后一个数据的时候,并不是跳出,而是阻塞在了while中,一直执行
原因:
hasNext(),是如果此扫描器的输入中有另一个标记,则返回 true。在等待要扫描的输入时,此方法可能阻塞。扫描器将不执行任何输入。所以循环会一直下去。
解决方案:
此时,可以设置一个终止符,调用hasNext()的重载方法hasNext(String patten):如果下一个输入与从终止符相匹配,则返回 true。扫描器不执行任何输入。
//例:以"0"作为终止符Scanner in = new Scanner(System.in);while (!in.hasNext("0")) {System.out.println(in.next());}但是这种操作并不能满足我对于题目解答的要求。我运行了网上java写的答案,发现也是一样的问题,只不过可以在while中进行计算。在卡死前将所有结果输出。
还有一种解决办法就是将输入一字符串的形式读入,然后进行拆解并转成int型数据进行计算。
java 的while+hasNext()
/** @方法1:遇到特殊符号结束 */ public static void main(String args[]){ // System.in代表标准输入,就是键盘输入 Scanner sc = new Scanner(System.in); // 增加下面一行将只把回车作为分隔符 // sc.useDelimiter("\n");//useDelimiter 可以将分隔符号修改为"回车",或者其他字符。 System.out.println("Please input a number"); // 判断是否还有下一个输入项 while(!sc.hasNext("0"))//遇到0结束 ///此情况可以设置一个终止符,调用hasNext()的重载方法hasNext(String patten): // 如果下一个标记与从指定字符串构造的模式匹配,则返回 true。扫描器不执行任何输入。 { // 输出输入项 System.out.println("键盘输入的内容是:" + sc.next()); System.out.println("Please input a number"); } System.out.println("不执行了"); } /** @方法2以输入"quit",结束输出 */ public static void main(String[] args){ System.out.print("请输入值:"); Scanner s = new Scanner(System.in); while(s.hasNext()){ String a = s.next(); //将s.next()赋值给变量a if("quit".equals(a)){ break; }else{ System.out.println(a); } } }到此,相信大家对"怎么解决Java while(scanner.hasNext())无法跳出问题"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
输入
问题
方法
扫描器
内容
字符
键盘
输出
字符串
就是
数据
标记
符号
而是
学习
循环
阻塞
实用
更深
特殊
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库资料分享
战争雷霆空战服务器无响应
自主可控棋牌软件开发
武汉市合作供销总社网络安全
大学生推荐购买云服务器吗
网络安全检测装置价格
sql数据库技术与运用答案
M1芯片做软件开发
上海系统软件开发哪家好
方舟 服务器
剑网1服务器互通吗
软件开发市场环境分析
用友sql连接数据库
xampp 数据库
上海商业软件开发成本价
rehl8.1服务器安装
星辰大海网络技术
服务器日志信息保存多久
creo服务器管理视频
数据库完整性的定义存储在
icloud 中国服务器
服务器光模块通用吗
apex个服务器名称
php用什么服务器好
新一代网络技术的理解
学软件开发教学多久
儿童简单网络安全绘画
pc服务器配置
网络安全四个主要特点
软件生存周期和软件开发过程