Hashset получает пустую строку как элемент в java [duplicate]

< import java . util . *; public class SetTrial { public static void main ( String [] args ) { Сканер sc = новый сканер ( System . in ); int number = sc . nextInt (); HashSet < String > names = new HashSet < String > (); для ( int j = 0 ; j < число ; j ++) { Строковый текст = sc . nextLine (); имена . добавить ( текст ); } Система . из . println ( имена ); } } iv class = "вопрос-статус-вопрос-оригиналы-дубликаты">

На этот вопрос уже есть ответ:

Я пытаюсь добавить элементы в hashset, но он получает пустой элемент.

Первоначально я пробовал,

5
a
b
c
d
e

Когда я даю ввод как,

d

Кажется, что он принимает только входные данные dи выполняет печать

[, a, b, c, d]

Я предполагал, что он принимает новую строку в начале, поэтому я добавил sc.next()код в коде.

import java.util.*;

public class SetTrial{

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int number = sc.nextInt();
        HashSet<String> names = new HashSet<String>();
        sc.next();
        for(int j=0; j<number;j++)
        {
            String text = sc.nextLine();
            names.add(text);
        }
        System.out.println(names);
    }
}

Хотя на этот раз, похоже, он правильно принимает входной сигнал, результат

[, b, c, d, e]

Поэтому проблема должна быть чем-то другим. Как это исправить?

java,hashset,

0