首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中将变量值添加到另一个变量的名称中?

如何在java中将变量值添加到另一个变量的名称中?
EN

Stack Overflow用户
提问于 2021-02-11 16:21:56
回答 3查看 69关注 0票数 0

我正在试着做一个“我的世界”插件。我想让它为每个玩家创建变量。我使用" for“作为循环。我正在尝试将玩家的名字添加到变量的名称中。有人能帮上忙吗?

代码语言:javascript
复制
String name = "";
            for (Player p : Bukkit.getOnlinePlayers()) {
                name = p.getName();
                int cheatdetection+name = 0;
                int looking = (Math.round(p.getLocation().getPitch()) + 270) % 360;
                int currentlooking = looking;
                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {                      
                    if(looking > currentlooking+20 || looking < currentlooking-20) {
                        cheatdetection+name++;
                    }
                }
                if(cheatdetection >= 10) {
                    Bukkit.getBanList(Type.NAME).addBan(p.getName(), "You have been banned for using Baritone", todate1, "HackMiner Detection");
                    p.kickPlayer("HackMiner Detection");
                }
            }
EN

Stack Overflow用户

发布于 2021-02-11 16:54:33

我不知道我是否正确理解了你的问题,因为它非常含糊,而且你没有提供任何关于你期望的结果的信息。在第四行int cheatdetection+name = 0;中,您尝试将String对象添加到变量名中。这在任何编程语言中都是不可能的,因为编译器需要从一开始就知道变量名。要解决您的问题,您可以创建一个类似于以下内容的类:

代码语言:javascript
复制
public class PlayerObject {
    private String name;
    private TYPE whateverYouWantToStoreExceptTheName;
    public PlayerObject(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }
}

如果你随后制作了一个List<PlayerObject> list= new ArrayList<>();,你可以通过添加如下函数来获得你搜索的播放器:

代码语言:javascript
复制
public PlayerObject getPlayerByName(String name) {
    for(PlayerObject player : list) {
        if(player.getName().equals(name);
            return player;
    return null;
}

确保A:在for (Player p : Bukkit.getOnlinePlayers())循环之前初始化列表。B:为PlayerObject创建一个自己的文件C:谷歌如何在列表中添加、删除和获取项D:以某种方式处理getPlayerByName函数中的null,否则您将被NullPointerException卡住。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66151070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档