Читать текст из консоли в Java 8 - PullRequest
0 голосов
/ 09 марта 2019

У меня в консоли 2 строки, одна из которых Размер массива , а вторая строка - это элементы в массиве, и элементы разделяются пробелом.Мне нужно прочитать эти элементы как целое число и передать его функции в виде массива, такого как getInput (int [] nums).

Ex:
5
1 2 2 3 3

Как это сделать в Java 8 с использованием буферизованного читателя?

Я попробовал ниже приведенный ниже код, но это не то, что я ожидаю.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int t = Integer.parseInt(br.readLine());
System.out.println("Array Size:" + t);
int input[] = new int[t];

for (int i = 0; i < t; i++) {
    input[i] = Integer.parseInt(br.readLine());
}

for (int i = 0; i < input.length; i++) {
    System.out.println(input[i]);
}

1 Ответ

0 голосов
/ 09 марта 2019

Почему бы просто не использовать сканер? Вы можете прочитать две строки, используя Scanner.nextLine(). Например:

import java.util.*;  
public class ScannerClassExample {    
    public static void main(String args[]){
        //Make a new Scanner reading the System input
        Scanner scanner = new Scanner(System.in);
        //Read the first line
        String arraySize = scanner.nextLine();
        //Read the elements and split on spaces
        String elementsLine = scanner.nextLine();
        String[] elements = elementsLine.split(" ");
        //If you want them to be integers, you could use this
        int[] intElements = new int[elements.length];
        for (int i = 0; i < elements.length; i++) {
            intElements[i] = Integer.parseInt(elements[i]);
        }
        scanner.close();
    }
}

Если вы используете это, я также рекомендую использовать scanner.hasNext(). Посмотрите на некоторые примеры по этому поводу.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...