在多维数组中搜索字符串

kstoneman84:

我正在尝试通过搜索下面的数组的前两个名称来查找联系人,然后更新与该联系人关联的电话号码。在提供的代码中,我可以在外部循环中找到联系人的名字(strFirstName),但无法验证它是否与适当的姓氏(strLastName)相关联。即使在数组中,只要没有名字或姓氏的重复,我也希望我的编码能够匹配确切的记录。

找到适当的记录后,需要提示用户输入新的电话号码。我相信我可以弄清楚这部分,但是我乐于接受实现这一点的想法。

numContacts =数组中的行数

    String [][] contactsArray = { 

    {"Emily","Watson","913-555-0001"},
    {"Madison","Jacobs","913-555-0002"},
    {"Joshua","Cooper","913-555-0003"},
    {"Brandon","Alexander","913-555-0004"},
    {"Emma","Miller","913-555-0005"},
    {"Daniel","Ward","913-555-0006"},
    {"Olivia","Davis","913-555-0007"},
    {"Isaac","Torres","913-555-0008"},
    {"Austin","Morris","913-555-0009"}

    public static void updateContact(Scanner scanner, String[][] contactsArray, int numContacts) {
    System.out.println("Updating contact");
    System.out.print("Enter first and last name: ");
    String strFirstName = scanner.next();
    String strLastName = scanner.next();


    for (int i=0; i < numContacts; i++){
        System.out.println(i);
         if (contactsArray[i][0].equals(strFirstName) ) {
            for (int j = 0; j < 3;j++) {
                System.out.println(j);
                if (contactsArray[1][j].equals(strLastName) ) {
                    System.out.println("yes");
                } else {
                    System.out.println("no");
                    }
            }   
         }
    }
}       

提前感谢所有帮助您解决此问题的帮助。

D.劳伦斯:

我觉得您已接近解决方案。不幸的是,与姓氏的字符串比较是错误的。

实际上,您是在做contactsArray[i][0]名字,这是正确的。但是,您正在contactsArray[1][j]使用姓氏,这是不正确的。也许contactsArray[i][1]更正确。

然后,您可以问自己是否真的需要第二个循环?您实际上只想查找给出名字和姓氏的记录因此,您只需要一个循环即可遍历“记录”。

最后,如果实际找到了记录,则应该跳出循环,并打印“是”。如果循环后未找到任何内容,则应打印“ no”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章