当前位置: 首页 > news >正文

关于为什么java中nextInt()和nextLine()不能混用 | nextInt()和nextInt()之类的可以一起用

键盘录入的区别:

第一套体系:遇到空格、制表符、回车都结束,并且都不接收

  • nextInt()、nextDouble()、next() 遇到空格、制表符、回车就结束,只接收其之前的数据,空格以及空格之后的数据都在缓冲区内,如果有下一个待输入的变量值,会将缓冲区内的值传递给下一个变量(相当于缓冲区放着了先),但是不会接收缓冲区内的空白回车等字符

举例:两个nextInt()可以连着用

Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt(); //输入123 321 回车
System.out.println(num1); //输出123
int num2 = sc.nextInt(); //直接跳过了
System.out.println(num2); //输出321

解释: 第一个输入123 321 回车,缓冲区内是 321回车,由于缓冲区内已经有值了,所以会直接交给第二个变量,nextInt()由于不会接收空格和回车,所以直接输出是321

第二套体系:遇到回车结束,并且接收空格、制表符、回车

  • nextLine():可以接收空格、制表符、回车,遇到回车才结束【常用】

nextInt()和nextLine()不可以混着用

int num = sc.nextInt(); //输入3+回车
System.out.println(num); //输出3
String name = sc.nextLine(); //不给输入的机会
//因为nextInt输入的回车放在缓冲区,nextLine会读入回车,直接结束
//可以在每次输入完之后使用nextLine()清除一下缓存区
http://www.lryc.cn/news/525304.html

相关文章:

  • Android OpenGL(六) 纹理
  • git和idea重新安装后提交异常
  • leetcode刷题记录(八十一)——236. 二叉树的最近公共祖先
  • STM32-CAN总线
  • node.js 07.npm下包慢的问题与nrm的使用
  • ubuntu改变swap存储空间,遇到 fallocate 失败: 文本文件忙
  • 20250122-正则表达式
  • QT之CMAKE教程
  • 网络安全 | 0day漏洞介绍
  • 关于WPF中ComboBox文本查询功能
  • 07_游戏加载窗口
  • awk命令进阶
  • 解锁Java中的国密算法:安全保障的密钥
  • 基于迁移学习的ResNet50模型实现石榴病害数据集多分类图片预测
  • 在现有 Docker Desktop 环境下安装与配置独立 Kubernetes环境(Mac)
  • Linux探秘坊-------3.开发工具详解(1)
  • Spring Boot整合Thymeleaf、JDBC Template与MyBatis配置详解
  • 白玉微瑕:闲谈 SwiftUI 过渡(Transition)动画的“口是心非”(下)
  • 论文:深度可分离神经网络存内计算处理芯片
  • hdrnet,Deep Bilateral Learning for Real-Time Image Enhancement解读
  • Android系统开发(十五):从 60Hz 到 120Hz,多刷新率进化简史
  • js判断一个数组对象中是否有相同的值
  • 基于深度学习的视觉检测小项目(十五) 用户的登录界面
  • redis-排查命中率降低问题
  • ui文件转py程序的工具
  • Alluxio 联手 Solidigm 推出针对 AI 工作负载的高级缓存解决方案
  • Oracle 数据库常见字段类型大全及详细解析
  • U3D的.Net学习
  • Tomcat下载配置
  • adb常用指令(完整版)