疑难杂症:Java中Scanner连续获取int和String型发生错误.
使用Scanner类获取输入,连续获取int类型和String类型数据时候,发生错误。
Scanner sc = new Scanner(System.in);
System.out.println("输入int类型");
int a = sc.nextInt();
System.out.println("输入String类型");
String s = sc.nextLine(); System.out.println(a);
System.out.println(s);
System.out.println("运行完毕");
运行结果,输入5后回车,直接运行完毕,请求输入String被跳过。

原因,输入5后的回车,被系统误判断是请求输入s的String。于是运行完毕。
解决方案:
1)使用一个新的Scanner对象获取String.
Scanner sc = new Scanner(System.in);
System.out.println("输入int类型");
int a = sc.nextInt(); Scanner sc2 = new Scanner(System.in);
System.out.println("输入String类型");
String s = sc2.nextLine(); System.out.println(a);
System.out.println(s);
System.out.println("运行完毕");
2)在nextInt后面加入一个nextLine(),不进行赋值。
Scanner sc = new Scanner(System.in);
System.out.println("输入int类型");
int a = sc.nextInt();
sc.nextLine(); //不进行赋值,接受回车
System.out.println("输入String类型");
String s = sc.nextLine(); System.out.println(a);
System.out.println(s);
System.out.println("运行完毕");
撰写时间:2017-08-20 14:43:10
修改时间:2017-08-20 14:51:12
end;
疑难杂症:Java中Scanner连续获取int和String型发生错误.的更多相关文章
- java中Object转换成int或String类型方法
转载: http://www.cnblogs.com/1020182600HENG/p/6137206.html Object obj = getObject(); if(obj instanceof ...
- java中时间的获取(二)
java中时间的获取2 /** * 获取数据库操作记录时间 */ public static String getOpreateDbTime() { Calendar c = Calendar.get ...
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- Java进阶(二十三)java中long类型转换为int类型
java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...
- java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换
java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换 一.字符串与其他类型连接 public class DemoString{ public static void mai ...
- PDO 查询mysql返回字段int变为String型解决方法
PDO 查询mysql返回字段int变为String型解决方法使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...
- Java中Scanner用法总结
最近在做OJ类问题的时候,经常由于Scanner的使用造成一些细节问题导致程序不通过(最惨的就是网易笔试,由于sc死循环了也没发现,导致AC代码也不能通过...),因此对Scanner进行了一些总结整 ...
- java中scanner类的用法
在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...
- Java中Scanner类和BufferReader类之间的区别
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串.它本质上是使用正则表达式去读取不同的数据类型. Java.io.BufferedReader类为了能够高效的 ...
随机推荐
- poj3250(单调栈模板题)
题目链接:https://vjudge.net/problem/POJ-3250 题意:求序列中每个点右边第一个>=自身的点的下标. 思路:简单介绍单调栈,主要用来求向左/右第一个小于/大于自身 ...
- sv函数中返回队列
如果想从函数中,返回队列或者动态数组,我们应该怎么做呢? 答案就是自己用typedef定义一个类型. typedef int queue_of_int[$]; function queue_of_in ...
- jsp九个内置对象、四个域对象及Servlet的三大域对象
一,什么是内置对象? 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创 ...
- bootstrap模态框手动关闭遮盖层不消失
模态框中 加载了一个子页面 子页面中调教表单之后想根据执行结果手动关闭模态框,最初尝试了以下几种方案: 1.$("#myModal").modal('hide');//模态框关闭 ...
- gerapy 实现自动化部署
1 安装 2 在需要部署的目录下运行 gerapy init 会在当前目录下生成一个gerapy目录,并在gerapy目录下有一个projects 目录 3 切换到gerapy 目录 cd gerap ...
- 【redis 学习系列】API的理解与使用(一)
Redis提供了5种数据结构,以下介绍一些预备知识以及Redis的5种数据结构 1.预备知识 1.1 全局命令 Redis的5种数据结构,它们是键值对中的值,对于键来说有一些通用的命令. (1)查看所 ...
- Wordpress 后台更改网址
在 `wp_options` 数据库执行下面两条命令 ```sql update wp_options set option_value = 'your_new_url' where option_n ...
- Qt5.12.2开发Android环境搭建
Qt-Android开发环境概要qt-opensource-windows-x86-5.12.2----armv7jdk-8u201-windows-x64android-ndk-r18b-windo ...
- Subplot 分格显示
1.subplot2grid 使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure()创建一个图像窗口 import matplotlib.pypl ...
- python 杨辉三角实现逻辑
程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] ...... 方法:迭代,生成器 def triangles() L = [1] while True: yiled ...