Scanner(System.in) 关于cache清空的问题

ImAmelie ImAmelie 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

import java.util.Scanner;
//输入一个数,显示一个数,输入错误重新输入
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double temp;
while (true) {
System.out.print("输入:");//输入一个数
while (!sc.hasNextDouble()) {//如果输入的不是数字,进入循环
System.out.print("输入错误,重新输入:");
sc.nextLine();//释放掉输入内容
}
temp = sc.nextDouble();//在输入正确的情况下接受数字
System.out.println(temp);
}
}
}



我的输入操作:



输入
45 asdf asdf sad fdsaf 1212
temp接受45
在接受45后Scanner里有缓存"asdf asdf sad fdsaf 1212"
之后重新进入外循环
控制台打印"输出"
进行内循环条件判断
因为Scanner有cache,"asdf asdf sad fdsaf 1212"所以直接显示输入错误,重新输入:

有没有什么办法可以在不确定cache有没有内容的情况下直接清空cache?
比如sc.nextLine()
在cache有内容的情况下就会直接清除内容
但是cache没有值的情况下,程序会挂起来等待用户输入(※)
有没有什么办法可以实现类似C语言的fflush()函数(不管输入直接清空输入流)功能?
...全文

相关推荐

bpms_dynamic_wrapper:BPMS REST API 的动态包装器,它通过扫描 BPMS REST 存储库动态加载数据模型

**Scanner 类**:负责扫描 BPMS REST 存储库,查找并加载数据模型定义。2.

yilin wang

软件开发常用词汇表

Java中的输入输出(I/O)也是必不可少的知识点,如System.out.print(), System.out.println()用于输出文本到控制台,以及Scanner类用于从键盘读取输入。

qq_40402737

谷歌浏览器Chrome-下载即用.zip

启用前提、Cache Storage API配额计算方式、Storage Foundation API持久化申请流程、Quota Management API查询粒度、File System Access

xinshenghuo22

计算机专业英语学习.pdf

- 扫描仪(Scanner):用于将纸质文档或图片转换为数字格式输入到计算机中。

nidezlk

Python开发C盘空间可视化分析工具:安全清理与区块图展示

磁盘空间管理是系统运维和日常使用中的基础需求,其核心在于高效识别和清理冗余文件。传统方法依赖命令行或系统工具,往往缺乏直观性且存在误删风险。通过可视化技术,可以将抽象的文件大小数据转化为直观的图形界面,极大提升问题定位效率。Python凭借其丰富的生态库,如tkinter用于GUI开发、squarify生成树状图、psutil获取系统信息,成为实现此类工具的优选。这种技术方案的价值在于将复杂的文件系统分析变得透明可控,特别适用于**C盘空间告急**时的精准诊断。工程实践中,结合多线程扫描避免界面卡顿,并引入

weixin_30567225
评论 5
收藏 已收藏
分享
返回顶部
ImAmelie
Java SE 62,620 成员 307,251 内容