疑难杂症: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类为了能够高效的 ...
随机推荐
- Python基础-python流程控制之顺序结构和分支结构(五)
流程控制 流程:计算机执行代码的顺序,就是流程 流程控制:对计算机代码执行顺序的控制,就是流程控制 流程分类:顺序结构.选择结构(分支结构).循环结构 顺序结构 一种代码自上而下执行的结构,是pyth ...
- Java创建对象的初始化顺序
1. 初始化块 初始化块通常写在类的构造方法之前,由花括号括起来,通常包含对成员属性进行初始化的语句: 初始化块分为instance初始化块和static初始化块,初始化块在构造方法执行之前被执行: ...
- SpringCloud微服务基础
1.传统项目架构 传统项目分为三层架构,将业务逻辑层.数据库访问层.控制层放入在一个项目中.适合于个人或者小团队开发,不适合大团队开发. 2.分布式项目架构(解耦方案) 根据业务需求进行拆分成N个子 ...
- c# post方法亲测可用
/// <summary> /// Post接口方法 /// </summary> /// <param name="requestUri">& ...
- 为什么text的值改变后onchange没有反应?
onchange发生在元素失去焦点后,而不是想象中的元素的值发生改变的时候.其实它的作用就跟onblur(失去焦点事件)差不多,只不过onchange是失去焦点且值发生了改变.要想实现目的,可以改用o ...
- Opecv + Anaconda 读取视频(windows)
前言:之前一直用的是python(x,y),但是发现在使用opencv时容易出现一些pythonw.exe停止工作的问题.后来发现自己的操作系统是64位的,却安装了32位的python(x,y),虽然 ...
- [Git] 拉开发分支的代码报错
Git拉开发分支的代码报错: fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed ...
- 在Java的Condition接口【唤醒全部线程】
在Java的Condition接口中,存在的几个方法跟Synchronized中的wait(),waitall(),wait(time ^),这个几个方法一一对应起来,但是在Lock.newCondi ...
- 如何创建并初始化程序集里List类型的反射
参考网址:http://stackoverflow.com/questions/315231/using-reflection-to-set-a-property-with-a-type-of-lis ...
- easyui-combobox的option选项为true与false时的问题
如题,我们使用easyui-combobox,当我们的选择项为true与false时,即选择是否,后台返回一个boolean类型的变量,那么这时候,通过form表单进行反显会出现这样的问题:表单里ea ...