如何检查2D数组列中的字符串?

时间:2015-11-25 11:33:44

标签: java arrays row indexof

我有一个带有名字和数字列表的2D数组。第1列包含所有人的名字。如何编辑我的函数以获取用户输入并检查输入是否匹配,或者输入是否部分位于数组中某个字符串中的某个名称中?

示例:

Daniel Zen, 12, 3
Niel Diam, 15, 5
Arthur Ziel, 16, 99

我的功能目前采用第一列,即名称,但如果它们匹配,我怎么看?以及如何确定其行值。

通缉输出:(用户输入" IeL")

Daniel Zen is row 0
Niel... is row 1
Arth... is row 2

到目前为止,我接受输入,将其转换为小写。

 public static void print_player_info(String[][] data, String player)
  {
   String name = player.toLowerCase();

   for(int i = 0; i<data[0].length; i++)
   {
    String namecolumn = data[i][0];
    String rownames = data[0][i];
    if(name.indexOf(namecolumn)!= -1)//i dont think this is correct
    {
   // what would need to go here
    }
   }

  }

2 个答案:

答案 0 :(得分:0)

类似的东西会对你有所帮助..我没有测试过这个,请检查并告诉我们。

public static void print_player_info(String[][] data, String player) {
        String name = player.toLowerCase();
        for (int i = 0; i < data.length; i++) {
            String temp = Arrays.toString(data[i]);
            if(temp.toLowerCase().contains(player)){
                System.out.println(player + " - " + i);
            }

        }

    }

答案 1 :(得分:0)

public static void print_player_info(String[][] data, String player) {
    int i = 0;
    for (String[] dd : data) {
        for (String d : dd) {
            if (d.toLowerCase().contains(player.toLowerCase())) {
                System.out.println(d + " is row " + i);
            }

        }i++; }}