不知道我是否以正确的方式提出了问题,但是这里...... 我需要从列表用户打印对象的用户名。 这是User类:
public class User {
public String username;
public String email;
public String membership;
public User (String us, String em, String mm){
us=username;
em=email;
mm=membership;
}}
以下是主要课程:
public class Main {
List<User> users = new ArrayList<User>();
users.add(new User("johnsmith", "johnsmith@gmail.com", "Premium"));
users.add(new User("walterwhite", "walter.white@gmail.com", "Beginner"));
users.add(new User("drwho", "doctorwho@gmail.com", "Gold"));
users.add(new User("parker", "parker2@gmail.com", "Premium"));
for (int i=0; i<users.size(); i++){
System.out.println(); // <--------- So I don't know what to use here
}}}
我在println()方法中使用了什么?我只需要打印用户名(johnsmith,walterwhite,drwho,parker)。或者任何其他对象(电子邮件或其他任何东西,我只需要知道如何从列表中打印某些参数)。已经尝试过println(users.membership),println(会员)和类似的变化...
答案 0 :(得分:2)
我怀疑你想要这样的东西:
for (int i = 0; i < users.size(); i++) {
// Access the user by position in the list
User user = users.get(i);
// Now print the username for that specific user
System.out.println(user.username);
}
为了清楚起见,我将循环体分成两个语句,但它等同于:
System.out.println(users.get(i).username);
这是使用List.get(int)
方法访问列表中特定索引处的项目。
现在,有更好的方法可以做到这一点:
使用增强型for循环简单地按顺序访问集合的每个元素:
for (User user : users) {
System.out.println(user.getUserName()); // After addressing the above
}
答案 1 :(得分:0)
System.out.println(users.get(i).username);
我建议您使用
for(Object o : objects)
并为你的字段声明getter和setter。
答案 2 :(得分:0)
使用带有索引的get()
方法。
for (int i=0; i<users.size(); i++){
System.out.println(users.get(i).username); // <---get user object at index i and use here
}
在你的构造函数中,如果你closeley看
public User (String us, String em, String mm){
us=username;
em=email;
mm=membership;
}
作业必须从左到右。
那应该是
public User (String us, String em, String mm){
username= us;
email=em;
membership=mm;
}
答案 3 :(得分:0)
构造函数中存在错误。它应该是
public User (String us, String em, String mm){
username = us;
email = em;
membership = mm;
}
您应该对实例变量进行一些阅读。