Мой код принимает вход String, разделяет их и находит в них те, у которых есть определенная буква, а затем печатает их. Теперь я хочу, чтобы одно и то же слово печаталось только один раз. Например, если вход был «она выглядит красиво, она добр». то на выходе будет «она \ п хорошая» Это мой текущий код:Как проверить одно и то же слово в строке?
Scanner kybd = new Scanner(System.in);
String s = kybd.nextLine();
String[] arr = s.split(" ");
for (String ss : arr) {
String []ary = {ss};
for(int i = 0; i < ary.length; i++){
int numindex = ss.indexOf("e");
int numindex2 = ss.indexOf("E");
if (numindex != -1){
System.out.println(ary[i]);
}
else if(numindex2 != -1){
System.out.println(ary[i]);
}
}
}
Любые предложения о том, как сделать это будет оценено.
Для поддержания может быть использовано слово в предложении, ORDER, ArrayList (для хранения) и HashSet (для проверки предыдущего существования); если нет проблем с эффективностью (что, вероятно, не для небольших списков, как здесь), то List.contains будет достаточным для теста существования (и Set может быть пропущен) .. и будет намного проще, чем ручной массив. – user2864740
Нет, для поддержания порядка я бы использовал TreeSet. По крайней мере, в этом сценарии. http://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html –
О, хорошо. Я неправильно понял ваш вопрос, возможно, вы должны упомянуть, что вы подразумеваете порядок вставки в своем комментарии. Хорошо, хорошо. –