2016-11-02 8 views
0

これまでのところ、現在は1人のユーザーのみで構成された配列リストを作成しました。私の割り当てのために、私はそのユーザー名とuserTypeのようなそのユーザーのプロパティを表示するように求められています。私が知る限り、これらのプロパティだけが割り当てられている場合は、これらのプロパティを出力する拡張forループを作成しました。私の質問は、どのように私はこれらのプロパティを自分のユーザに割り当てることになるでしょうか?私は配列リストが存在するUserGroupクラスを作成し、UserクラスのUserクラスが指定されていますが、Userクラスが正しいかどうかはわかりません。ここでは、両方のクラスのコードは次のとおりです。アレイリストのユーザーにプロパティを割り当てる方法は?

のUserGroup:

package main; 
import java.util.ArrayList; 

public class UserGroup { 

    ArrayList<User> userGroup = new ArrayList<>(); 
    User userOne; 

    public void addSampleData(String username, String userType, String name) { 

    userGroup.add(new User("LeeB", "Staff", "Lee")); 

} 

    public User getUser(int index) { 

    return userGroup.get(0); 

} 

    public void printusername(){ 

     for (User x : userGroup) 
      System.out.println(x); 

    } 
} 

ユーザー:

package main; 
class User { 

    String username; 
    String userType; 
    String name; 


    User(String username, String userType, String name) { 

    this.username = username; 
    this.userType = userType; 
    this.name = name; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public String getUserType() { 
     return userType; 
    } 

    public String getName() { 
     return name; 
    } 

    public String setUserType(String admin) { 
     return userType = admin; 
    } 

} 

主な方法:

package main; 

public class Main { 
public static void main(String[] args) { 
    for (int counter=2; counter<=40; counter+=2) { 
     System.out.println(counter); 
    } 
    System.out.println("For loop complete."); 

    int counter = 1; 
    int increment = 2; 
    int loopexeccounter = 0; 
    while (counter <= 500) { 
     loopexeccounter = loopexeccounter + 1; 
     System.out.println(counter); 
    counter = counter + increment++; 
    } 
System.out.print("This loop iteratted "+loopexeccounter+" times."); 
} 

    public Main() { 

    UserGroup userGroupObject = new UserGroup(); 

System.out.println(userGroupObject.getUser(0)); 
} 

} 

が、それはほんの一部ですが、最新の方法上記のすべてを無視します彼らが私たちに印刷してもらいたいループの例。

バージョンを更新してもエラーは発生しませんが、ユーザー(0)は出力されません。

+0

'公共メイン(しません)' *コンストラクタ*、ない方法 –

答えて

1

これまでのところ、1人のユーザーのみで構成されたアレイリストを作成しました。

実際には、user0は割り当てられません。 nullなので、nullをリストに追加するだけです。

変数がuser0である必要はありません。最初にユーザーをしたい場合は

ArrayList<User> userGroup = new ArrayList<>(); 
User userOne; 

public void addSampleData(String username, String userType, String name) { 
    userGroup.add(new User(username, userType, name)); 
} 

その後、

public User getUser(int index) { 
    return userGroup.get(index); 
} 

、パラメータとして0でそのメソッドを呼び出します。

限り、これは懸念しているとして、それは大丈夫ですが、あなたはただ、その代わりに、オブジェクト全体の

もう少し高度な印刷、xのユーザー名をしたい場合は、代わりにHow do I print my Java object without getting "[email protected]"?

public void printusername(){ 

    for (User x : userGroup) 
     System.out.println(x); 
} 

を見ますオプションは、グループが本質的にユーザーのリストであるためです。

public class UserGroup extends ArrayList<User> { 

それとも、あなたは本当にあなたがaddより専門的なメソッドを追加しない限り、そのクラスが必要get、およびprint

+0

おかげで助けのために、大いに感謝します。 –

+0

私は、getUserメソッドの "int index"部分のために、すべてが1つのことから離れて動作すると思います。 –

+0

何もありませんか? 'index'はパラメータ名 –

関連する問題