Java 中nextLine()与nextInt()的错误点
来源:互联网 发布:c4d 电脑配置 知乎 编辑:程序博客网 时间:2024/05/16 10:56
本帖最后由 aweilovemusic 于 2016-4-3 20:46 编辑
int x = sc.nextInt();
System.out.println("请输入一个字符串");
String line = sc.nextLine();
System.out.println("x = " + x + ",line = " + line);
输出结果为:
请输入一个数
1
请输入一个字符串
x = 1,line =
原因及其解决方法:
为什么中间的String line = sc.nextLine();一句没有执行呢?
键盘录入有个特点:就拿你的案例来说,你输入完int类型时需要回车一次才可以运行窗口才出现结果,这时程序就以为输入了一个空的字符串,并且将int类型的数据和空字符串一起打印出来了
解决方案有2种:
第一次建立一个int类型,输第二次要录入入String类型时,需要建立string键盘录入对象(这样做耗内存,实际开发不推荐) Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int x = sc.nextInt();
System.out.println("请输入一个字符串");
Scanner sc2 = new Scanner(System.in);
String y = sc2.nextLine();
System.out.println(y);
System.out.println("x="+x+"y="+y);
第二种方案就是全部都用string类型创建键盘录入对象:(这样做推荐使用,如果要把string类型转成int类型的话,可以用int的包装类inteeger类里面的方法去转换的)
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String x = sc.nextLine();
System.out.println("请再输入一个字符串");
String y = sc.nextLine();
System.out.println("x="+x+"y="+y);
2016.8.14
遇到nextLIne()和nextInt() 连用的问题,搜黑马论坛得到相同的答案:
问题:
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数");int x = sc.nextInt();
System.out.println("请输入一个字符串");
String line = sc.nextLine();
System.out.println("x = " + x + ",line = " + line);
输出结果为:
请输入一个数
1
请输入一个字符串
x = 1,line =
原因及其解决方法:
为什么中间的String line = sc.nextLine();一句没有执行呢?
键盘录入有个特点:就拿你的案例来说,你输入完int类型时需要回车一次才可以运行窗口才出现结果,这时程序就以为输入了一个空的字符串,并且将int类型的数据和空字符串一起打印出来了
解决方案有2种:
第一次建立一个int类型,输第二次要录入入String类型时,需要建立string键盘录入对象(这样做耗内存,实际开发不推荐) Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int x = sc.nextInt();
System.out.println("请输入一个字符串");
Scanner sc2 = new Scanner(System.in);
String y = sc2.nextLine();
System.out.println(y);
System.out.println("x="+x+"y="+y);
第二种方案就是全部都用string类型创建键盘录入对象:(这样做推荐使用,如果要把string类型转成int类型的话,可以用int的包装类inteeger类里面的方法去转换的)
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String x = sc.nextLine();
System.out.println("请再输入一个字符串");
String y = sc.nextLine();
System.out.println("x="+x+"y="+y);
0 0
- Java 中nextLine()与nextInt()的错误点
- java scanner中nextInt 和nextLine的注意事项
- Java中Scanner的nextInt(),next(),nextLine()方法总结
- java中scanner.nextint和nextline的问题
- Java中Scanner的nextInt(),next(),nextLine()方法总结
- Java中Scanner的nextInt(),next(),nextLine()方法总结
- Java中关于nextInt()、next()和nextLine()的理解
- java中next(),nextInt()和nextLine()
- Scanner类中nextLine()方法与next()或nextInt()联用时可能出现一个常见的错误
- Scanner类nextInt()与nextLine()联合使用时出现的错误
- java Scanner类中nextLine()方法与nextInt()等联用时
- Java中nextInt()后紧跟nextLine()方法造成的一些问题
- Java中关于nextInt()、next()和nextLine()的理解(转)
- nextInt与nextline()混合使用
- Java中nextInt()后接nextLine()读取不到数据
- 小心:Scanner中关于next()、nextInt()和nextLine()的问题
- java:解决在nextInt()后使用nextLine()的方法
- Java学习笔记1——关于Scanner类中nextDouble、nextInt、……等方法与nextLine方法联用的问题
- 解决Cannot change version of project facet Dynamic web module to 3.0
- 同步与非同步,阻塞与非阻塞
- 分布式锁:Java常用技术方案
- 极大似然估计
- Java基础之-容器类概述
- Java 中nextLine()与nextInt()的错误点
- hdu 3359 /poj 3999 Kind of a Blur(高斯消元模板题)
- B/S模式的底层socket通讯练习
- Android技术开发之接口回调机制总结
- ppt 制作圆角三角形
- 【杭电oj2029】Palindromes _easy version
- 析构函数: __destruct()和内存
- OpenCV学习笔记之(二):图像的基本操作(VS2010+OpenCV3.0)
- Struts2关于文件上传的案例