码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-06-30 13:14:43      阅读:15      评论:0      收藏:0      [点我收藏+]

标签:inpu   util   stat   问题:   字符   http   input   ati   png   

代码:

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

标签:inpu   util   stat   问题:   字符   http   input   ati   png   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!