Как записать несколько чисел в одном рядке в массив [закрыт]

160
14 марта 2019, 03:00

Дана задача, в которой надо ввести числа в массив, при этом, вводить их надо через пробел.

Answer 1

Например вот так:

import java.util.Scanner;
public class TestClass {
    public static void main(String[] args) {
        System.out.println("Введите 5 чисел через запятую:");
        Scanner scanner = new Scanner(System.in);
        int[] array = new int[5];
        for (int i=0;i<array.length;i++){
            array[i]=scanner.nextInt();
        }
        System.out.println("Ваш массив:");
        for (int i=0;i<array.length;i++){
            System.out.println(array[i]);
        }
    }
}

Результат будет таков:

Если не хотите привязываться к размеру массива, то поиграйте с ArrayList вместо массива.

Answer 2

Вы хотите использовать именно сканер? Скорее всего ваша задача на разделение строки. Если это так, то у класса String есть метод split, который возвращает массив из "кусочков" исходной строки, которые разделены выражением из параметра.

    // считываем строку из консоли
    System.out.println("Введите несколько чисел через пробел (или не пробел)");
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String str = reader.readLine();
    reader.close();
    // применяем метод split и получаем массив из строк
    // что такое "\\D+" ? это параметр метода split,
    // регулярное выражение, описывающее любое ненулевое количество не цифр
    // в частности пробел, попробуйте подставить " ", тоже сработает
    // но "\\D+" сработает независимо от того какие вообще символы между цифрами
    String[] splitStr = str.split("\\D+");
    // создаем массив из чисел, равный по длине массиву из строк
    // после разделения через "\\D+" в splitStr будут гарантированно цифры
    // попробуйте ввести "1 2 3 коза 4"
    int [] arr = new int[splitStr.length];
    // преобразуем каждую строку в число и записываем в ячейку с тем же номером
    for (int i = 0; i < arr.length; i++){
        arr[i] = Integer.parseInt(splitStr[i]);
    }
    // проверяем результат, воспользовавшись методом Arrays.toString
    System.out.println(Arrays.toString(arr));
READ ALSO
Ошибка при подключении к БД jdbc

Ошибка при подключении к БД jdbc

Вот возникает ошибка при попытке подключения: commysql

170
Создание объектов JPanel с помощью Map

Создание объектов JPanel с помощью Map

подскажите, имеется следующий класс

156
Смена jdk на 11 версию

Смена jdk на 11 версию

Подскажите, после установки jdk-110

171
Объясните что происходит в метадах findViewById и findViewTraversal

Объясните что происходит в метадах findViewById и findViewTraversal

Охота понять что конкретно происходит в этих методахЗаходим в класс View и видим вот что:

230