Поместить каждый символ в предложении в вектор?

#java #arrays #vector

Вопрос:

Я начал писать код пару месяцев назад и не могу понять, как решить эту проблему. Вот о чем спрашивают..

  1. Попросите пользователя ввести фразу. Удалите все пробелы из фразы и переведите все буквы в верхний регистр.
  2. Создайте вектор для хранения всех букв фразы в одной позиции, вектор должен быть точно такого же размера, как и фраза.
  3. Покажите содержимое вектора на экране.

Я врезался в стену, потому что не могу начать с вектора из-за удаления пробелов и верхнего регистра пункта 1, но если я начну с обычной строки, я не знаю, как разделить буквы на буквы, как указано в пункте 2.

     Scanner entrada = new Scanner(System.in);
    System.out.println("Type a phrase.");
    String phrase = entrada.nextLine();
    phrase = phrase.replace(" ", "");
    phrase = phrase.toUpperCase();
    System.out.println("");
    System.out.println(phrase);
    int characters = phrase.length();
    System.out.println("The phrase has"   characters   "characters");
    String[] vet = new String[characters];
    for (int i = 0; i < characters; i  ) {
 

Комментарии:

1. См. String.charAt()

2. Что вы подразумеваете под этим: сохраните каждую букву фразы в одном положении ? Почему вам нужно использовать устаревший Vector класс, если это должен быть список/arraylist?

3. @AlexRudenko Я полагаю, что «вектор» — это не класс Vector, а фраза «вектор». Итак, массив в порядке.

Ответ №1:

phrase.toCharArray() должно сработать.

В случае, если вы хотите, чтобы символы были сохранены в списке:

 List<Character> list = phrase.chars()
    .mapToObj(c -> (char) c).collect(Collectors.toList());
 

Комментарии:

1. фраза. toCharArray() сработало, спасибо, приятель

Ответ №2:

Ваши учебные материалы кажутся немного устаревшими. @user16632363 прав в том, как получить доступ к каждому char из них . Сделав List<Character> allCharacters = new ArrayList<>(); это раньше. теперь вы можете сделать:

 int numChars = phrase.length();
for(int i = 0;i < numChars;i  ) {  
   allChars.add(Character.valueOf(phrase.charAt(i)));
}