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

关于为什么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.kler.cn/a/516536.html

相关文章:

  • 没有屋檐的房子-023粪堆旁边的舞蹈
  • 考研机试:买房子
  • 登录认证(4):令牌技术:JWT令牌
  • CMake技术细节:解决未定义,提供参数
  • dp 凸优化
  • Linux(Centos 7.6)命令详解:iconv
  • 设计模式Python版 简单工厂模式
  • OpenEuler学习笔记(十):用OpenEuler搭建web服务器
  • 【MCU】DFU、IAP、OTA
  • cursor重构谷粒商城05——docker容器化技术快速入门【番外篇】
  • Mac 查看 Java SDK 和 Android SDK 的路径
  • 输入网址到网页显示,发生了什么--讲述
  • linux静态库+嵌套makefile
  • 【深度学习】 自动微分
  • python学opencv|读取图像(四十三)使用cv2.bitwise_and()函数实现图像按位与运算
  • Caesar
  • 【java】IP来源提取国家地址
  • PHP校园助手系统小程序
  • React 前端框架开发详细操作
  • 【AIGC提示词系统】赛博朋克·韵律:一个融合科技与艺术的对话系统设计
  • 如何构建一个简单的React应用?
  • 202009 青少年软件编程等级考试C/C++ 二级真题答案及解析(电子学会)
  • 使用qwen作为基座训练分类大模型
  • JAVA EE
  • 概率论里的特征函数,如何用卷积定理去理解
  • 代码随想录刷题day14(1)|(链表篇)142.环形链表 II