如何搜索对象以查看它是否包含用户名和密码?

时间:2017-04-06 23:44:57

标签: java

目前我有一个包含用户名和密码的文本文件,并将其放在一个对象中。但是,在尝试登录时,它表示数组索引超出范围。看不出错误是什么。

    Object[][] data = new Object[UserDetails.size()][2];
    for(int i=1; i<UserDetails.size(); i++) {
            data[i][0] = UserDetails.get(i)[0];
            data[i][1] = UserDetails.get(i)[1];
            System.out.println(data[i][0]);
            System.out.println(data[i][1]);


    boolean match = false;
    boolean limit = false;
    int i=1;
    do{
        if((data[i][0] == username) && (data[i][1] == password)){
           match = true; 
        UsernameField.setText(null);
        PasswordField.setText(null);
        close();
        TablePage table;
        table = new TablePage(username);
        table.setVisible(true);
        JOptionPane.showMessageDialog(null, "Sucessfully Logged In","Login Success",JOptionPane.INFORMATION_MESSAGE);
        close();
        }else{
            if(i == UserDetails.size()){
                limit=true;
            }
            i++;

        }

    } while(match==false || limit == true);

1 个答案:

答案 0 :(得分:1)

如果UserDetails.size() = 0,则数据大小为[0] [2]。 之后你设置i = 1,然后有一个if(data[i][0])。 如果UserDetails.size() = 0,这将导致越界错误;