当前位置: 首页 > 知识库问答 >
问题:

使arraylist get方法工作和其他问题

裴鸿熙
2023-03-14

用户:

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。

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类远没有完成所有的目标,我不知道如何实现它们!!

共有1个答案

谭志用
2023-03-14

到目前为止看起来不错,一些修正:

AddSampleData()方法不应该是静态的,因为它使用类的非静态成员。请求还声明添加示例数据本身。

getUser()非常简单。

public void addSampleData() {
    people.add(new User("pe3", UserType.ADMIN,"Peter"));
    people.add(new User("u987", UserType.EDITOR,"Udo"));
    people.add(new User("frank123", UserType.USER,"Frank"));
    // repeat ...
}

public User getUser(int idx) {
    return people.get(idx); 
}

public void printUsernames(){
    for (User user: people){
        System.out.printf("%s %s\n", user.getUsername(), user.getuserType);
    }
} 
UserGroup grp = new UserGroup();
grp.addSampleData();
grp.printUsernames();
User u1 = grp.getUser(0);
 类似资料:
  • Note: Seafile 服务器 5.0.0 之后,所有配置文件都移动到了统一的 conf 目录下。 了解详情. 从专业版服务器的 2.0.5 版本开始,Seafile 可以使用兼容 S3 的云存储(比如 OpenStack/Swift)作为后端。这篇文档将以使用 Swift 为例。 准备工作 首先您需要为 Swift 启用 S3 的模拟中间件。有关说明可以参考以下链接: http://www.

  • 我试图实现菲尔·斯特金的Rest服务器,并学习如何使用api密钥进行身份验证。程序在获取和删除请求时运行良好,但在尝试发布和其他剩余方法时,它会抛出“未授权”响应。当我尝试使用摘要身份验证时(这里我使用chrome高级rest客户端进行测试),用户名和密码不匹配,浏览器总是显示登录表单 我使用默认的示例类包括在Rest服务器捆绑包

  • 一旦你掌握的窍门,安装 Babel 还是十分简明的,不过和其他工具搭配在一起就会变得困难多了。 不过我们一直在与其他项目密切合作以确保这种体验尽可能简单。 静态分析工具 新标准为语言带来了许多新的语法,静态分析工具正在将此利用起来。 语法检查(Linting) ESLint 是最流行的语法检查工具之一,因此我们维护了一个官方的 babel-eslint 整合软件包。 首先安装 eslint 和 b

  • 其他认证方法 还有两种其他身份验证方法值得一提。它们是一次性密码和证书。 一次性密码 FreeRADIUS包含一个名为rlm_otp的模块,可用于处理OTP(一次性密码)令牌。该模块应与其他程序一起使用。 不幸的是,为其他程序提供代码的公司Tri-D Systems已经不存在了。但是,代码是分叉的,现在可以从Google Code(http://code.google.com/p/otpd/)获得

  • 问题内容: 我正在尝试使用当前位置在android中提交用户注册表格。我是android和java开发的新手。当我尝试在我的名称值对代码中访问onLocationChanged方法的myLat和myLan时,无法同时找到这两个变量。如何访问我的名称/值对代码中的两个变量。 问题答案: 您可能应该研究范围和成员变量。问题是,您不能在一个方法中声明一件事,然后尝试从另一方法访问它。 因此,我们将该事物

  • 问题内容: 假设我正在构建一个井字游戏(因为它与结构非常相似),我希望结果在弹出窗口中显示,并带有一个新的游戏按钮,并且希望此弹出窗口允许我访问设置(另一个按钮)并对其进行更改,使其始终位于弹出窗口中,然后离开并最终将其关闭并开始新游戏。 我希望我可以保持秩序,因此有一个单独的弹出窗口类,可以在其中构建自定义弹出窗口。 显而易见,我将newgame方法和reset方法作为我的游戏网格类的方法。另一