我正在嘗試獲取矢量的內容。 我有一個存儲用戶的詳細信息,如名稱和密碼類:找到矢量大小的Java矢量容量
package Login;
/**
*
* @author Kutoma
*/
public class User{
private String name;
private String password;
public User(String aName, String password){
name = aName;
this.password = password;
}
public boolean checkPassword(String pass)
{
if(password.equals(pass))
return true;
else
return false;
}
public String getName(){
return name;
}
public String getPassword(){
return password;
}
}
我再有一類稱爲setOfUsers這增加了用戶,發現他們的名字:
package Login;
public class SetOfUsers extends Vector<User> {
private static SetOfUsers register = null;
public SetOfUsers(){
super();
User temp = new User("Adam","12345");
add(temp);
}
public static SetOfUsers getInstance(){
if (register == null)
{ register = new SetOfUsers(); }
return register;
}
public void addUser(User aUser){
super.add(aUser);
}
public User findUserByName(String name)
{
for(int i = 0; i < capacity(); i++){
User user = elementAt(i);
if(user.getName().equals(name)){
return user;
}
}
return null;
}
在我收到的那一刻這個錯誤java.lang.ArrayIndexOutOfBoundsException:1> = 1 但是,我已經使用容量來查找向量的大小,不知道我在哪裏出錯。 我的主要程序有當登錄按鈕被點擊它應該打印出 用戶詳細信息
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
SetOfUsers register = SetOfUsers.getInstance();
String name = nameText.getText();
User user = register.findUserByName(name);
String passTxt = passText.getText();
user = register.findUserByName(passTxt);
System.out.print(user);
}