Как набирать цифры в одной строке - PullRequest
0 голосов
/ 25 сентября 2019

Я изучаю Java, и мне было интересно, можно ли набирать цифры в одной строке, не переходя через счетчик?

for (int i = 0; i < 5; i++) {              
    int a = sc.nextInt();
    if (i == 4){
        break;
    }
}

Если я нажимаю клавишу ввода после каждого набираемого числа, я могу получитьтолько 5 цифр, и они в столбце, но если я хочу набрать цифры в строке, то я могу иметь более 5 цифр.Так есть ли способ сделать это, есть что-нибудь похожее на \a в C ++?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Вы также можете использовать BufferedReader.Вот пример.Идея в том, что метод .split () вернет вам объект массива с введенным вами вводом, разделенным пробелами в этом случае.После этого вам нужно проанализировать записи, потому что они являются строками.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String... args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            String[] input = br.readLine().split(" ");   
            int[] a = new int[input.length];
            for (int i = 0; i < input.length; i++)
                a[i] = Integer.parseInt(input[i]);
            for (int i = 0; i < input.length; i++) System.out.printf("%d ", a[i]);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
0 голосов
/ 25 сентября 2019

Используйте метод сканера nextLine ().

Он прочитает полную строку и вернет строку.

Разделить строку, используя пробел и сохранить в строковом массиве.

Перебрать массив строк.Выберите индекс и проанализируйте его с помощью метода parseInt класса Integer.

Сохранение в массиве или использование любым способом, который вам нужен / нужен.

Шаблон ввода: - 12 13 14 15 16 1618

В одной строке может быть целое число N.

Примечание: - Вы должны быть уверены, что пользователь вводит только целое число при вводе.В противном случае вам нужно написать if и else логику непосредственно перед преобразованием строки в целое число.Чтобы ваш код не выдавал исключение.

String a = sc.nextLine();
String arr[] = a.split("\\s+"):
int input[] = new int[arr.length];

for( int i = 0 ; i < arr.length ; i++){
    input[i] = Integer.parseInt(arr[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...