Второй подход был почти правильным.
Просто замените sc.next()
с sc.nextLine()
.
< 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]
Поэтому проблема должна быть чем-то другим. Как это исправить?