Java扫描程序数组输入直到行结束

时间:2015-04-06 20:49:53

标签: java input java.util.scanner

我想从控制台输入一些带空格分隔符的整数,按Enter然后将它们读入List。 (最初,我不知道整数的数量,我不想解析字符串)

有可能吗?

2 个答案:

答案 0 :(得分:1)

使用while循环。

public static void main(final String[] args) {
    while(true) {
        a = scanner.next();
        if (a.equals(""))
            break;
        b = Integer.parseInt(a);
        list.add(b);

或:

public static void main(final String[] args) {
    while(true) {
        try {
            a = scanner.nextInt();
            list.add(a);
        } catch (Exception e) {
            break;
        }

您可以自己初始化所有内容。只是帮助您的基础:)

试试这个:

import java.util.Scanner;
public class help {
    public static void main(final String[] args) {
        Scanner scnr = new Scanner(System.in);
        while (true) {
            if (scnr.hasNextInt() == false)
                break;

            int a = scnr.nextInt();
            System.out.println(a);
        }
    }}

你必须想办法检测扫描仪中的空行。我现在无法想办法。

答案 1 :(得分:0)

Scanner scan = new Scanner(System.in);
    ArrayList<Integer> list = new ArrayList<Integer>();
    int a = 0;
    a = scan.nextInt();
    scan.close();
    int count = String.valueOf(a).length();

    for(int i = 0; i< count ; i++){ 
    list.add(Integer.parseInt(String.valueOf(a).substring(i, i+1)));

    }

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