indexOf和BufferedReader不适合我

时间:2014-03-15 04:49:32

标签: java arraylist bufferedreader indexof

我试图使用BufferedReader获取arraylist上元素的索引。它完美地处理并且没有错误,但是当我每次给出input元素时,它给出-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"));

}

}

我想要发生的是输出必须等于它们的索引。像Mama = 0,Papa = 1等等......

2 个答案:

答案 0 :(得分:4)

尝试indexOf(input),不带引号。如果数组预计包含string "input",那么您所编写的内容才有意义。

答案 1 :(得分:1)

假设您确实在提示符处正确提供了请求的字符串(包括正确的大小写),您应该调用

a1.indexOf(input);

即没有引号。否则,你总是试图找到字符串&#34;输入&#34;的索引,当然是-1,因为ArrayList中没有这样的字符串;