blueJでコーディングしています。私の目的はこれです:1)ユーザークラスを書く
ユーザー:
has a username e.g 'fj3'
has a userType which can be: 'user', 'editor' or 'admin'
has a name e.g 'Francis'
has a constructor which takes the username, userType and name as parameters
has a getUsername() method
has a getUserType() method
has a getName() method
has a setUserType() method which takes one of the user types as a parameter
2) UserGroup クラスを書く
UserGroup クラスには、ユーザーの ArrayList が必要です。
UserGroup クラスのコンストラクターを記述します。ArrayList をインスタンス化する必要があります。
UserGroup で、10 人のユーザーを作成する .addSampleData() というメソッドを記述し、ArrayList の add() メソッドを使用して、10 個の新しいユーザー オブジェクトを ArrayList に配置します。
UserGroup で、int をパラメーターとして取り、ArrayList のそのスロットにユーザーを返す getUser メソッドを記述します。
UserGroup で、UserGroup に printUsernames() メソッドを記述します。
強化された for ループ (上記を参照) を使用して、ArrayList をループし、ArrayList 内の各ユーザーのユーザー名と userType を出力します。
私がこれまでに持っているものは次のとおりです。
package user;
public class User{
public enum UserType{
ADMIN, EDITOR, USER;
}
private String id;
private UserType userPermissions;
private String actualName;
public User(String username, UserType userType, String name){
id = username;
userPermissions = userType;
actualName= name;
}
public String getUsername(){
return id;
}
public UserType getUserType(){
return userPermissions;
}
public String getName(){
return actualName;
}
public void setUserType(UserType input){
userPermissions = input;
}
}
そして私の UserGroup クラス:
package user;
import java.util.*;
import user.User.UserType;
public class UserGroup{
private ArrayList<User> people;
public UserGroup(){
people = new Arraylist<User>();
}
public static void addSampleData(String username, UserType userType, String name){
people.add(new User(username, userType,name));
}
public User get(int){
return User;
}
public void printUsernames(){
for (User user: groupArray){
System.out.printf("%s %s\n", user.getUsername(), user.getuserType);
}
}
}
これは明らかに完全にはほど遠いですが、私は完全に立ち往生しています。私の最初の問題は、これに対する get メソッドの書き方がわからないことです。これで私を助けてください!! 私の User クラスは問題ないと思いますが、私の UserGroup クラスはすべての目標を達成するには程遠いですし、その方法もわかりません!!