indexOf и BufferedReader не работают для меня

1

Я пытаюсь получить индекс элемента в arraylist с использованием BufferedReader. Он отлично обрабатывается и не содержит ошибок, но когда каждый раз, когда я предоставлял элемент ввода, он выводит вывод -1. Любой элемент, он всегда -1. Что не так?

import java.util.ArrayList;
import java.io.*;

class family {
public static void main(String args[]) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String input;

ArrayList<String> al = new ArrayList<String>();

al.add("Mama");
al.add("Papa");
al.add("Sister");
al.add("baby");


System.out.println(al);

System.out.println("Family Member Number: ");
input = br.readLine();

System.out.println(al.indexOf("input"));

}

}

Я хочу, чтобы результат был равен их индексу. Как Мама = 0, Папа = 1 и так далее...

Теги:
arraylist
bufferedreader
indexof

2 ответа

4

Попробуйте indexOf(input) без кавычек. То, что вы написали, имеет смысл только в том случае, если массив должен содержать string "input".

  • 0
    благодарю вас! теперь работает нормально!
1

Предполагая, что вы правильно отправляете запрошенную строку в приглашении (включая правильный случай), вы должны позвонить

a1.indexOf(input);

т.е. без кавычек. В противном случае вы всегда пытаетесь найти индекс строки "input", который, конечно, -1, так как у вас нет такой строки в ArrayList;

  • 0
    это сработало! благодарю вас!
  • 0
    Отлично. Продолжайте хорошую работу! :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню