java的nextline_java中的nextline()
今天在java上机课时遇到了个小问题,使用Scanner输入数据时,使用了一次nextInt(),一次nextLine(),却只接收了一个整数。代码如下
code1:
1 package cn.dx;
2
3 import java.util.Scanner;
4
5 public class ScannerTest {
6
7 public static void main(String[] args) {
8 Scanner in = new Scanner(System.in);
9 System.out.println("请输入一个整数");
10 while(in.hasNextInt()){
11 int num = in.nextInt();
12 System.out.println("请输入一个字符串");
13 String str = in.nextLine();
14 System.out.println("num="+num+",str="+str);
15 System.out.println("请输入一个整数");
16 }
17 }
18 }
运行结果为:
请输入一个整数
1231
请输入一个字符串
num=1231,str=
请输入一个整数
第二个String类型的参数没有读取进来。
自己查看了下nextInt()和nextLine()方法的官方文档
nextLine()
Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.
nextInt()方法会读取下一个int型标志的token.但是焦点不会移动到下一行,仍然处在这一行上。当使用nextLine()方法时会读取改行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头。所以这样就无法接收到下一行输入的String类型的变量。
之后改用了next()方法
code2.
1 package cn.dx;
2
3 import java.util.Scanner;
4
5 public class ScannerTest {
6
7 public static void main(String[] args) {
8 Scanner in = new Scanner(System.in);
9 System.out.println("请输入一个整数");
10 while(in.hasNextInt()){
11 int num = in.nextInt();
12 System.out.println("请输入一个字符串");
13 String str = in.next();
14 System.out.println("num="+num+",str="+str);
15 System.out.println("请输入一个整数");
16 }
17 }
18 }
运行后结果是正确的,运行结果如下。
请输入一个整数
123
请输入一个字符串
sdjakl
num=123,str=sdjakl
请输入一个整数
213 jdskals
请输入一个字符串
num=213,str=jdskals
请输入一个整数
试验后发现next()方法是以换行或者空格符为分界线接收下一个String类型变量。
java的nextline_java中的nextline()相关推荐
- java scan.next_Java使用scanner.nextLine()
尝试使用java.util.Scanner中的nextLine()方法时遇到麻烦. 这是我尝试过的: import java.util.Scanner; class TestRevised { pub ...
- java中使用nextLine(); 没有输入就自动跳过的问题?
[问题分析] 必要的知识:in.nextLine();不能放在in.nextInt();代码段后面 否则in.nextLine();会读入"\n"字符,但"\n" ...
- java nextline next_java中的nextLine函数
今天在学习java异常处理的时候,下面这段程序中的nextLine()的用法怎么也看不明白.初学者看到这段代码会误以为程序中的input.nextLine()这句是多余的.其实,不使用这句的话,如果输 ...
- 用 for/in 在 Java 5.0 中增强循环
http://www.ibm.com/developerworks/cn/java/j-forin.html 简介: for/in 循环通常叫作 增强的 for 或者 foreach,它是 Java ...
- Java在ACM中的应用
Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge :) (2) ...
- java面试题32:Java网络程序设计中,下列正确的描述是()
java面试题32:Java网络程序设计中,下列正确的描述是() A:Java网络编程API建立在Socket基础之上 B:Java网络接口只支持tcP以及其上层协议 C:Java网络接口只支持UDP ...
- acm c 和java如何取舍,ACM中使用JAVA语言的优缺点介绍
Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge :) (2) 对于熟 ...
- Java从输入中读取一个数组
最近在编程中遇到了如下问题:如何从输入中读取一个数组,一直调试出问题,后来查阅了一些资料终于解决了. 这主要是关于scanner扫描器中的nextLine()方法以及spilt()方法的应用,代码如下 ...
- Java提取视频中的音频
话不多说,上代码 Scanner scanner = new Scanner(System.in);System.out.println("请输入被提取音频的视频:");Strin ...
最新文章
- Apache Commons组件集合
- docker file 打包jar_Spring Boot 的项目打包成的 JAR 包,制作成 docker 镜像并运行
- Kotlin实战指南十三:协程
- CCNA学习指南第十一章
- JS----JavaScript数组去重(12种方法,史上最全)
- Istio 2020 年 Roadmap——一切为了商用
- springboot 别名不起作用_springboot之mybatis别名的设置
- ORACLE查询表最近更改的数据
- linux shadow 时间,Linux Shadow-Password-HOWTO - 7. 将 Shadow Suite 放进来使用(1)
- idea可以使用flash框架吗_可以使用 C# 的 Web 前端框架 Blazor
- 基于 .Net5.0 的快速开发框架,YuebonCore1.0.3 版已发布
- 随想录(写给那些学校不是985、211的同学们)
- BZOJ4598 [Sdoi2016]模式字符串 【点分治 + hash】
- 利用google网管工具,快速诊断网站(一)
- python制作fnt字体打包工具
- 计算机网课课堂评价语,网络授课如何“高效”评价学生作业(附实用评语)
- 自然语言处理顶会 ACL2019论文接收列表
- Java实现FTP文件上传和下载
- 地理信息系统(GIS)系列——ArcGIS 开发的各种示例
- 基于SGIP协议的短信网关接口