如何在同一行输入多个数值(Java Scanner 多值单行输入教程)
发布时间 - 2026-01-03 00:00:00 点击率:次本文讲解如何使用 java 的 scanner 类实现多个数值在同一行输入(如数量与单价并排输入),避免默认换行导致的格式错乱,并提供安全、健壮的输入处理方案。
在 Java 控制台程序中,Scanner.nextInt() 和 Scanner.nextDouble() 等方法不会消费输入末尾的换行符(\n),且它们默认以空白字符(空格、制表符、回车)为分隔符。因此,只要用户在一行内用空格或 Tab 分隔多个值,Scanner 就能正确读取——无需额外换行或特殊处理。
✅ 正确做法:保持 System.out.print() 不换行,引导用户在同一行输入多个值
修改你的代码如下:
System.out.print("Enter the quantities and price of " + phone1 + ": ");
qty = sc.nextInt(); // 用户输入:1000 1399.99 ← 两个值在同一行,用空格分隔
price = sc.nextDouble(); // Scanner 自动跳过中间空白,读取下一个数值运行效果:
Enter the quantities and price of iPhone 10: 1000 1399.99
⚠️ 重要注意事项:
- 不要在 nextInt() 后调用 sc.nextLine() 再读 nextDouble() —— 这会误吞掉用户输入的换行符,导致后续输入异常;
-
确保用户严格按空格/TAB分隔输入(如 1000
1399.99),否则 nextDouble() 会抛出 InputMismatchException; - 更健壮的写法
(推荐用于生产环境):统一用 nextLine() 读整行,再用 String.split() 解析:
System.out.print("Enter the quantities and price of " + phone1 + ": ");
String line = sc.nextLine().trim();
String[] parts = line.split("\\s+", 2); // 最多切两段,防止价格含空格时报错
if (parts.length >= 2) {
qty = Integer.parseInt(parts[0]);
price = Double.parseDouble(parts[1]);
} else {
System.err.println("Error: Please enter quantity and price separated by space.");
}? 小技巧:若想提升用户体验,可在提示语末尾加一个显眼分隔符,例如:
System.out.print("Enter quantity and price for " + phone1 + " (e.g., 1000 1399.99): ");总结:Java Scanner 天然支持单行多值输入,关键在于理解其以空白符分词的机制,并合理设计提示语与输入校验逻辑——既简洁高效,又具备容错能力。
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何自定义建站之星网站的导航菜单样式?
如何在万网开始建站?分步指南解析
如何在建站之星网店版论坛获取技术支持?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
网站制作免费,什么网站能看正片电影?
中山网站制作网页,中山新生登记系统登记流程?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
Android中AutoCompleteTextView自动提示
Laravel集合Collection怎么用_Laravel集合常用函数详解
如何用PHP工具快速搭建高效网站?
打造顶配客厅影院,这份100寸电视推荐名单请查收
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel Session怎么存储_Laravel Session驱动配置详解
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
如何构建满足综合性能需求的优质建站方案?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
香港网站服务器数量如何影响SEO优化效果?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
php json中文编码为null的解决办法
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
香港服务器建站指南:免备案优势与SEO优化技巧全解析
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
java获取注册ip实例
奇安信“盘古石”团队突破 iOS 26.1 提权
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何用AWS免费套餐快速搭建高效网站?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
动图在线制作网站有哪些,滑动动图图集怎么做?
如何选择可靠的免备案建站服务器?
javascript中对象的定义、使用以及对象和原型链操作小结
如何在万网自助建站平台快速创建网站?
Laravel如何使用Blade模板引擎?(完整语法和示例)
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
SQL查询语句优化的实用方法总结
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
如何快速启动建站代理加盟业务?
如何用低价快速搭建高质量网站?


(推荐用于生产环境):统一用 nextLine() 读整行,再用 String.split() 解析: