代码:

package com.ins1;

import java.util.*;
public class test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int n=input.nextInt();
String[] str = new String[n];
for(int i=0;i<n;i++){
str[i]=input.nextLine();
}
for (int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}

运行:

问题:输入n的值为5,但是只能输入4个字符串!

原因:nextInt()只读取数值,剩下"\n"还没有读取 , nextLine()会读取"\n",并结束。

  输入5的时候,nextInt()只读取了5,未读取后面的"\n",这导致5后面的"\n"被nextLine()读取,所以就只能输入4个字符串了。

解决办法:在nextInt()之后额外加上input.nextLine();

解决之后:

package com.ins1;

import java.util.*;
public class test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int n=input.nextInt();
input.nextLine(); //消除n后面的 "\n"
String[] str = new String[n];
for(int i=0;i<n;i++){
str[i]=input.nextLine();
}
for (int i=0;i<str.length;i++) {
System.out.println(str[i]);
}
}
}

Java中nextInt和nextLine同时使用出现的问题的更多相关文章

  1. Scanner中nextInt()和nextline()读取字符串的问题

    Scanner中nextInt()和nextline()读取字符串的问题 import java.util.Scanner; public class Main { public static voi ...

  2. java:nextInt()和nextLine()一起使用出错

    今天遇到一个很奇怪的事情,日常刷题中,遇到一个很简单的题: (不想看我多逼逼只想知道为什么会出错看最后) 题目: 题目描述 description 现有有N个学生的数据记录,每个记录包括学号.姓名.三 ...

  3. (PASS)java中nextInt()函数

    一:获取随机数的函数: package test; import java.util.Random; /** * * @ClassName: NextIntDemo * @Description: n ...

  4. java中Scanner类nextLine()和next()的区别和使用方法

    转载:http://blog.csdn.net/zhiyuan_ma/article/details/51592730 在实现字符窗口的输入时,很多人更喜欢选择使用扫描器Scanner,它操作起来比较 ...

  5. Java中next() 与 nextLine() 区别

    next(): 1.一定要读取到有效字符后才可以结束输入. 2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉. 3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符. 4. ...

  6. Java中next()和nextLine()

    next()读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键 ...

  7. java中锁与@Transactional同时使用导致锁失效的问题

    示例代码 @Transactional public void update(int id) { boolean lock = redisLock.lock(id); if (!lock) { thr ...

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

    首先,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后 ...

  9. java中Scanner的nextLine()和next()的区别

    首先,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后 ...

随机推荐

  1. three.js 着色器材质之变量(二)

    上一篇郭先生在例子中用到了着色器变量中的uniform和varying.这篇继续结合例子将一下attribute变量,在使用过程中也发现由于three.js的版本迭代,之前的一些属性和参数已经发生了改 ...

  2. 滴滴推理引擎IFX:千万规模设备下AI部署实践

    桔妹导读:「滴滴技术」将于本月开始,联合各技术团队为大家带来精彩分享.你想了解的技术干货,深度专访,团队及招聘将于每周三与你准时见面.本月为「滴滴云平台事业群分享月」,在今天的内容中,云平台事业群-机 ...

  3. 使用Tensorflow搭建自编码器(Autoencoder)

    自编码器是一种数据压缩算法,其中数据的压缩和解压缩函数是数据相关的.从样本中训练而来的.大部分自编码器中,压缩和解压缩的函数是通过神经网络实现的. 1. 使用卷积神经网络搭建自编码器 导入MNIST数 ...

  4. Android学习进程 Java引用 Rxjava MVP

    第一份Android开发工作,以便于记录学习进程 Java引用 Java没有显式的使用指针,但对象的访问仍是通过指针实现的,所以直接对象之间的赋值会导致存储空间是数据的改变,如设置两个对象,其中对象一 ...

  5. 基于OpenSIPS 实现分机注册服务服务器

    呼叫中心平台中坐席是不可或缺的一环,而坐席打电话自然需要使用办公分机.通常情况下我们通过软交换平台FreeSWITCH.Asterisk即可搭建分机注册服务. 但单台FreeSWITCH或Asteri ...

  6. Git那点事儿

    Git的分支你们是怎么管理的?/ Git的分支管理策略 主分支 master 开发分支 develop 功能分支 feature 预发布分支 release bug 分支 fixbug 其它分支 ot ...

  7. 序列化流(ObjectOutputStream、ObjectInputStream)

    1.序列化流(ObjectOutputStream) package demo10.objstream; /* java.io.ObjectOutputStream extends OutputStr ...

  8. C# IObservable与IObserver观察者模式

    C#中提供了IObservable<T>接口和IObserver<T>接口来实现观察者模式,IObservable<T>相当于Subject(主题)接口,下面我们就 ...

  9. Jenkins配置总结

    1.配置全局 系统管理->全局工具配置 2.配置 自己安装安装jdk,git,以及maven 3.系统管理->系统配置 3.1配置Jenkins URL 3.2 配置SSH Servers ...

  10. Scala的安装和配置

    1.Windows下搭建Scala开发环境 1)Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机并配置好,推荐安装JDK1.8 2)在http://www.scala-lang. ...