【问题标题】:Scanning an integer and a for loop to scan some strings [duplicate]扫描一个整数和一个for循环来扫描一些字符串[重复]
【发布时间】:2017-03-30 15:30:42
【问题描述】:

我正在尝试扫描一个整数并运行一个循环来扫描字符串,直到该整数。但是这段代码跳过了第一个字符串...

import java.util.ArrayList;
import java.util.Scanner;

public class A1 {

    public static void main(String[] args) {
        ArrayList <String> A = new ArrayList<String>();
        Scanner sc = new Scanner(System.in);
        System.out.println("How many strings to add:");
        int a = sc.nextInt();
        for(int i=0; i<a; i++)
        {
            System.out.printf("Enter %dth string:\n", i+1);
            String s = sc.nextLine();
            A.add(s);
        }

        for(int i=0; i<A.size(); i++)
        {
            System.out.println(A.get(i));
        }
    }

}

有什么办法吗?

【问题讨论】:

标签: java string integer java.util.scanner


【解决方案1】:

只需将您的代码更改为以下内容:

import java.util.ArrayList;
import java.util.Scanner;

public class A1 {

    public static void main(String[] args) {
        ArrayList <String> A = new ArrayList<String>();
        Scanner sc = new Scanner(System.in);
        System.out.println("How many strings to add:");
        int a = sc.nextInt();
        for(int i=0; i<a; i++)
        {
            System.out.printf("Enter %dth string:\n", i+1);
            String s = sc.next();         //This will wait until you give argument
            A.add(s);
        }

        for(int i=0; i<A.size(); i++)
        {
            System.out.println(A.get(i));
        }
    }

}

浏览 SO 帖子 - Java Scanner doesn't wait for user input

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多