Scanner类概述:

Scanner类是是用来接收控制台输入的字符串以及基本数据类型的类。

常用方法:
1.int nextInt():
接收输入的int型的数据。
结束符为空格或者回车

2.String nextLine()
接收输入的是字符串的数据
结束符为回车
3.String next():
接收输入的字符串的数据
结束符为回车

问题:

import java.util.Scanner;public class Test3 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入的数字");int scan=scanner.nextInt();System.out.println("请输入姓名");String name=scanner.nextLine();System.out.println(scan);System.out.println(name);}}

结果:

用nextInt()读取第一行输入,执行到用nextLine()读取第二行的输入时,就直接结束了nextLine的输入。
这个是为什么?

通过测试发现,只要nextInt,next,nextdouble方法在nextLine前面时,就会跳过nextline的输入。

原因:
nextInt()是以换行符或者回车结束的,表示输入结束。(我们结束这个输入时,都会按回车键)
而换行符 ” /n“,回车符 也是一个字符.nextLine()会把前者的换行符或者回车一个字符输入,所以nextLine不是没有录入值,而是直接把换行符或者回车符录入,直接结束输入,所以nextLine不需要再从控制台中录入。

解决办法:

1.创建两个Scanner对象,两个对象使用两个不同的方法。

如:

 public static void main(String[] args) {Scanner scanner=new Scanner(System.in);Scanner scanner2=new Scanner(System.in);System.out.println("请输入的数字");int sca=scanner.nextInt();System.out.println("请输入姓名");String name=scanner2.nextLine();

2.把nextLine()放在nextInt()前面

如:

public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入姓名");String name=scanner.nextLine();System.out.println("请输入的数字");int sca=scanner.nextInt();

Java中nextInt()和nextLine()混用问题解决相关推荐

  1. java nextint后有空格,Java中nextInt()后接nextLine()读取不到数据

    Java中nextInt()后接nextLine()读取不到数据 Java中nextInt()后接nextLine()读取不到数据 问题: 在使用Scanner对象的nextLine()函数读取输入的 ...

  2. java中next()和nextline()用法区别(详细说明)

    java中next和nextline用法区别 一,方法说明 二,空格的情况(tab键相当于多个空个 1.测试代码 2.中间出现空格时 3.开头出现空格时 三,回车键的情况 分析:回车键的情况 四,常见 ...

  3. java中nextInt()用法

    java中nextInt用法 功能 函数实现 三级目录 功能 给定一个参数n,nextInt(n)将返回一个大于等于0小于n的随机数,即:0 <= nextInt(n) < n. 函数实现 ...

  4. java 中 next() 与 nextLine() 方法的区别

    在说它俩的不同之处前,先说说它俩的相同之处: next() 和 nextLine() 读取的结果都是 String 类型,返回 string 类型 java 中 Scanner 类中的 next() ...

  5. java中next()和nextline()用法区别

    个人笔记: 说明: next(): 1.停止录入的结束符有空格.Tab键和回车键(录入内容不含结束标志) 2.next()对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方 ...

  6. scanner中nextInt和nextLine的顺序问题

    在牛客网做输入输出专项训练时发现的一个小问题 原题链接字符串1 处理输入时,有两行 所以我打算这样取输入 Scanner in = new Scanner(System.in); int n = in ...

  7. Java中next()和nextLine()的区别(为什么nextLine()输入回车没显示)

    前言 博主个人社区:开发与算法学习社区 博主个人主页:Killing Vibe的博客 欢迎大家加入,一起交流学习~~ 一.问题描述: 前几天遇到了一个小问题:为了简化,我手打了一段简单的代码,如下: ...

  8. Java中next和nextline的区别

    一.next和nextline同时使用的问题 因为最近发现当输入两行语句的时候,如果next在上,nextline在下,就会导致输入异常,所以总结了一下next和nextline的区别 Scanner ...

  9. Java中字符的输入

    Java中支持next(),nextLine(),nextInt(),nextDouble(),nextLong()等,但是没有nextChar(). 接下来介绍两种输入字符的方法 1)next(). ...

最新文章

  1. Spring MVC 五大组件
  2. Oracle 表的访问方式(2)-----索引扫描
  3. 世界级投资大师们的至理名言
  4. 返回值类型有哪些_关于类型的思考
  5. Python中join 和 split详解
  6. float类型转integer_Java基础(一)之数据类型——全面,浅显易懂
  7. 爱我少一点,我请求你
  8. 【Linux】一步一步学Linux——apt-sortpkgs命令(280)
  9. 【终极办法】org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘helloC
  10. python requests请求失败重试_Python:requests:详解超时和重试
  11. tween.js的使用
  12. hdu5064 Find Sequence 单调性dp
  13. ssm酒店预订系统(ssm酒店管理系统民宿预订)ssm酒店客房预订系统宾馆JSP客房预订系统
  14. iOS 启动优化和安装包瘦身
  15. 基于vue的选择月日组件
  16. 对比两张表的数据并筛选出数据不同的
  17. 使用token验证登录信息,把token存到数据库中
  18. 笔记本电脑插过一次typeC的耳机之后在插3.5的圆孔耳机不能用?
  19. 基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)
  20. 天津医大二院信息化办公室主任志翔:双机保护不是万能的

热门文章

  1. 美版 Pixel 5 网络无法使用问题解决
  2. 淘宝版本nginx部署
  3. 求助:选矿厂管理系统怎么编??(课程设计)
  4. opencv--拍大头贴程序
  5. 欧几里得算法和拓展欧几里得算法
  6. 计算机学院贺凤,石家庄邮电职业技术学院
  7. Postgresql - Cluster
  8. IOS学习笔记1—Iphone程序运行流程
  9. 古希腊神话故事6 :欧罗巴
  10. RabbitMq 本地连接报错 org.springframework.amqp.rabbit.support.ListenerExecutionFailedException: Listener