Как сохранить каждое слово из сканера в массив - PullRequest
0 голосов
/ 18 мая 2018

Я не хочу использовать сканер, чтобы попросить ввести несколько слов, и я ожидаю разделитель ",", чтобы отделить каждое слово.Затем я хочу разделить каждое слово и сохранить его в массиве, чтобы я мог использовать его для других целей, т.е. для создания объекта с аргументом массива для моего конструктора.Может ли кто-нибудь помочь мне, пожалуйста

Обновление: я решил проблему!Спасибо всем за предложения.

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Вы можете сделать это с помощью цикла и проверки с помощью Scanner.hasNext().Вот так:

Scanner k = new Scanner(new File("input.txt"));
k.useDelimiter(",");
LinkedList<String> words = new LinkedList<String>();
while(k.hasNext()){
    words.add(k.next());
}
System.out.println(words);

Обратите внимание, как я устанавливаю разделитель запятой, чтобы каждое следующее прочитанное слово выделялось как разделенное запятыми.

0 голосов
/ 18 мая 2018
import java.util.*;

public class testing {

    public static void main (String[] args) {
        String splitter = ",";
        Scanner scanner = new Scanner(System.in);
        System.out.println("user input:");
        String[] fewwords = scanner.nextLine().split(splitter);
        System.out.println(fewwords[0] + fewwords[1] + fewwords[2]);
    }
}
0 голосов
/ 18 мая 2018

Если я правильно понимаю ваш вопрос, это то, что я бы сделал

Scanner keyb = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String input = keyb.nextLine();
String[] stringArray = input.split(",");

Чтобы увидеть результаты:

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

Это будет работать для предложения любого размера, пока каждоеслово отделяется ,.

...