변수는 코드에서 문제는 당신이 addUser()
프로 시저를 호출 할 때 항상 새 사용자를 삽입한다는 것입니다 의 위치는 0
입니다.
1) 전역 변수 사용 :
// global variable:
int numberOfUsers = 0;
...
public void addUser(String u1, String p1) {
users[numberOfUsers] = new User(u1,p1,id);
users[numberOfUsers].setUsername(u1);
users[numberOfUsers].setPassword(p1);
users[numberOfUsers].setId(numberOfUsers);
println ("New user created");
numberOfUsers++;
}
2)에 addUser()
기능으로 사용자의 수를 통과
그래서 나는 당신의 문제를 해결하기 위해 두 가지 방법을 제안거야 :
// calling the function
newNumberOfUsers = addUser("string u1", "string p1", newNumberOfUsers);
...
public int addUser(String u1, String p1, int numberOfUsers) {
users[numberOfUsers] = new User(u1,p1,id);
users[numberOfUsers].setUsername(u1);
users[numberOfUsers].setPassword(p1);
users[numberOfUsers].setId(numberOfUsers);
println ("New user created");
return (numberOfUsers++);
}
정확하게 "작동하지 않습니까?" ('id'가 정의되지 않았고,'i'가 항상'0'이고, 생성자에 이미 설정된 값을 설정하고 있습니다.) – David
사용자를 선언하는 곳을 제공해야합니다. 배열이 동적 인 경우에는 ArrayList가 필요합니다. – scrappedcola