java中的next()和nextLine()还是有很大区别的。

next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。完整标记的前后是与分隔模式匹配的输入信息所以next()不能得到带空格的字符串,儿nextLine()是遇到回车是才结束,所以可以得到带空格的字符串

在输入一个int类型的数字之后,如果后边采用nextLine的话,最后打印结果发现会少一个字符,原因是在你使用nextInt的时候后边有一个换行符,没有接受,前边的int变量只是接受了你输入的数值,所以在你继续输入nextLine之后,会自动读取还未读取的换行,所以会导致后边的结果有一列为空,所以此时你需要多输入一个NextLine把未接受的换行符接收到,例如,以下代码:

package 情书;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Vector; public class Main { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
cin.nextLine();
String a[] = new String[n];
String s = cin.nextLine(); for(int i=0;i<n;i++) {
a[i] = cin.nextLine();
} System.out.println(s);
for(int i=0;i<n;i++) {
System.out.println(a[i]);
}
} }

运行结果如下:

java中nextLine()与next()的区别的更多相关文章

  1. java中nextLine()和next()的区别

    >概述 在实现字符窗口的输入时,我个人更喜欢选择使用扫描器Scanner,它操作起来比较简单.我发现用Scanner实现字符串的输入有两种方法,一种是next(),一种nextLine(),但是 ...

  2. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  3. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  4. 转:Java中abstract和interface的区别

    转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

  5. Java中this与super的区别【6】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  6. Java中堆和栈的区别(转)

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.      Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new. ...

  7. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  8. Java中Long与long的区别(转)

    Java中Long与long的区别(转) [本文转载自:http://www.cnblogs.com/bluestorm/archive/2012/04/22/2464739.html] 转载请联系原 ...

  9. java中堆和堆栈的区别

    java中堆和堆栈的区别(一) 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势是,存取 ...

随机推荐

  1. Androidx初尝及其新旧包对照表

    x的最低实验条件 AndroidStudio 3.2.0+ gradle:gradle-4.6以上 本次实验条件: AndroidStudio 3.3 (强制要求最低gradle版本为gradle-4 ...

  2. SSH框架笔记01_SSH整合的两种方式

    目录 1. 框架回顾 2. 创建项目,引入jar包 2.1 Struts2的jar包 2.2 Hibernate的jar包 2.3 Spring的jar包 3. 引入配置文件 3.1 Struts2配 ...

  3. [极客-Linux] 04 Linux命令

    创建用户: useradd 装文件: CentOS:   (软件管家yum) rpm -i xxx.rpm Ubuntu:   (apt-get) dpkg -i xxx.deb nohup: no ...

  4. java8 lamb表达式对List排序

    场景一:List<Long> 或其他泛型,非对象 List<Long> ids = new ArrayList(); ids.add(100000001L); ids.add( ...

  5. 使用BERT预训练模型+微调进行文本分类

    本文记录使用BERT预训练模型,修改最顶层softmax层,微调几个epoch,进行文本分类任务. BERT源码 首先BERT源码来自谷歌官方tensorflow版:https://github.co ...

  6. Xshell 5连接上suse

    # 关闭防火墙 systemctl stop SuSEfirewall2.service systemctl stop SuSEfirewall2_init.service systemctl dis ...

  7. P2018 消息传递[dp]

    题目描述 巴蜀国的社会等级森严,除了国王之外,每个人均有且只有一个直接上级,当然国王没有上级.如果A是B的上级,B是C的上级,那么A就是C的上级.绝对不会出现这样的关系:A是B的上级,B也是A的上级. ...

  8. 《发际线总是和我作对》第九次团队作业:【Beta】Scrum meeting1

    项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目冲刺 团队名称 发际线总和我作队 作业学习目标 (1)掌握软件黑盒测试技术:(2)掌握软件 ...

  9. mysql占用内存过高调优方法

    最近测试一个站点,用mysql 5.6+mencache  内存16GB,但是进行查询的时候还是导致CPU占用过高,达到80%左右,所以想办法如何进行调优.以下几个参数进行参考选择 优化mysql数据 ...

  10. keras模块学习之泛型模型学习笔记

    本笔记由博客园-圆柱模板 博主整理笔记发布,转载需注明,谢谢合作! Keras泛型模型接口是:  用户定义多输出模型.非循环有向模型或具有共享层的模型等复杂模型的途径  适用于实现:全连接网络和多输入 ...