使用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型发生错误.的更多相关文章

  1. java中Object转换成int或String类型方法

    转载: http://www.cnblogs.com/1020182600HENG/p/6137206.html Object obj = getObject(); if(obj instanceof ...

  2. java中时间的获取(二)

    java中时间的获取2 /** * 获取数据库操作记录时间 */ public static String getOpreateDbTime() { Calendar c = Calendar.get ...

  3. 【转】java中byte数组与int类型的转换(两种方式)----不错

    原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

  4. Java进阶(二十三)java中long类型转换为int类型

    java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...

  5. java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换

    java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换 一.字符串与其他类型连接 public class DemoString{ public static void mai ...

  6. PDO 查询mysql返回字段int变为String型解决方法

    PDO 查询mysql返回字段int变为String型解决方法使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...

  7. Java中Scanner用法总结

    最近在做OJ类问题的时候,经常由于Scanner的使用造成一些细节问题导致程序不通过(最惨的就是网易笔试,由于sc死循环了也没发现,导致AC代码也不能通过...),因此对Scanner进行了一些总结整 ...

  8. java中scanner类的用法

    在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...

  9. Java中Scanner类和BufferReader类之间的区别

    java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串.它本质上是使用正则表达式去读取不同的数据类型. Java.io.BufferedReader类为了能够高效的 ...

随机推荐

  1. mybatis中foreach使用

    mybatis中的<foreach collection="list" item="item" index="index" open= ...

  2. input下拉框

    用Html5和css.js写的,引用的bootstrap和jquery文件请各位看客自己去下载

  3. Codeforces Round #552 (Div. 3) D题

    题目网站:http://codeforces.com/contest/1154/problem/D 题目大意:给出n个数(0或1),还有a , b, a是蓄电池容量,b是电池容量,数为1时蓄电池可以充 ...

  4. jmeter的各种调用

    1. 开发将dubbo协议的接口转化成了webservices后,jmeter直接添加http请求,输入网址就好,但是这种需要增加开发测试页面的工作量 2.jmeter自身无法调用zk连接服务器(Jm ...

  5. mysql group by using filesort优化

    原join 连接语句 SELECT SUM(video_flowers.number) AS num, video_flowers.flower_id, flowers.title, flowers. ...

  6. Pyhon入门基础(1)---Pycharm安装及破解

    一.下载安装 1.首先我们可以对比一下社区版和专业版的区别: 2.下载地址:https://www.jetbrains.com/pycharm/download/ 当我们开发的项目比较大的时候通常会涉 ...

  7. 团队项目Alpha冲刺阶段之学习总结

    线性布局 线性布局是程序中最常见的种布局方式,可以分为水平线性布局和重直线性布局两种,通过Android:orientation属性可以设置线性布局的方向.线性布局的特点是各个子元法彼此连接,中间不留 ...

  8. jquery瀑布流排列样式代码

    <!DOCTYPE html><html><head lang="en"> <meta charset="gb2312" ...

  9. Unity3D 在Update中不要过多地修改Transform 信息

    前文说到碰撞检测时候,不要在Update内部尝试移动GameObject 来检查碰撞检测,这样是徒劳无功.但是 说到 因为你移动的过程中其实并没有将实际的移动位置更新到物理引擎,只是做了个缓存而已, ...

  10. Gitlab使用时的一些注意事项

    1 gitlab-runner 不选中,在commit没有tab的时候,runner不会进行运行 2 在新安装的gitlab的环境上更改@localhost为远程地址 2.1  vim /opt/gi ...