首页 > 编程语言 > 详细

Java中nextInt和nextLine同时使用出现的问题

时间:2020-06-30 12:34:02      阅读:64      评论:0      收藏:0      [点我收藏+]

代码:

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同时使用出现的问题

原文:https://www.cnblogs.com/yunn/p/13212795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!