Как добавить элементы из строки, добавленной из консоли, в список в Java

1

Как я могу добавить элементы в список из ввода в java.

Как если бы я поставил:

Сканер-считыватель = новый сканер ("a, b, c, d, e);

Я хочу иметь это как String [] a = {a, b, c, d, e];

Используя любые методы сканирования с утилями, действительно, я немного потерял

Извините за мой английский (не мой основной язык)

  • 0
    Вы хотите использовать String.split (). Смотрите здесь, например: tutorialspoint.com/java/java_string_split.htm После того, как вы прочитали строку с помощью сканера, просто разделите ее запятой.
Теги:
string
list
while-loop
java.util.scanner

3 ответа

0
Лучший ответ

Чтобы добавить входные данные в список, подобный этому

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

 public class StackOverflow {

  public static void main(String[] args) {
     ArrayList<String> inputList = new ArrayList<String>();

     Scanner reader = new Scanner(System.in);
     String input = reader.nextLine();
     inputList.add(input);

     while (!input.equals("null")) {
         input = reader.nextLine();
         inputList.add(input);
     }
  }

 }
1

Если вы знаете, сколько входных элементов вы собираетесь принять, объявите массив перед началом ввода, а затем поместите каждый вход в массив до тех пор, пока не закончите пространство с массивом.

Лучший способ сделать это - использовать ArrayList:

ArrayList<String> inputList = new ArrayList<String>();

Используя сканер, вы можете получить следующий вход (если вы хотите всю строку, используйте reader.nextLine(), чтобы получить эту строку. Я бы предложил временно сохранить это в локальной переменной, чтобы вы могли ее изучить, если вам нужно ( вам понадобится какой-то сеанс завершения сеанса или используйте hasNextLine(), чтобы узнать, есть ли еще что читать.

Если вам нужно вернуться как массив, ArrayList имеет метод toArray(), который вы можете вызвать.

0

Это должно работать, маркер по умолчанию, используемый Сканером, - это пробельные символы.

public String[] getStringArray(String input, int arraySize) {

     String[] stringArray = new String[arraySize];
     Scanner s = new Scanner(input);

     for (int i = 0; s.hasNext(); i++) {
         stringArray[i] = s.next();
     }

     s.close();

     return stringArray;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню