Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java初始化对象数组_Java_Arrays_Oop - Fatal编程技术网

java初始化对象数组

java初始化对象数组,java,arrays,oop,Java,Arrays,Oop,//这是我的第一篇帖子,如果我做错了什么,请告诉我D 我最近开始“学习”Java,我刚刚开始编写一个小小的csgo皮肤管理器。我想为游戏中实现的每个皮肤添加一个对象,所以我从一个对象数组开始。问题是游戏中有大约608张皮肤,我不想打字 如果(i+1==[ID]){武器=新皮肤(“武器名”、“皮肤名”、“随机质量”、“垃圾收集”,i+1)} 600多次,有没有更快的办法 编辑:我在一个.ods文件中获得了所有信息,所以“问题”实际上是关于“代码结构”,而不是初始化本身 //以下是与您相关的两个课程

//这是我的第一篇帖子,如果我做错了什么,请告诉我D

我最近开始“学习”Java,我刚刚开始编写一个小小的csgo皮肤管理器。我想为游戏中实现的每个皮肤添加一个对象,所以我从一个对象数组开始。问题是游戏中有大约608张皮肤,我不想打字
如果(i+1==[ID]){武器=新皮肤(“武器名”、“皮肤名”、“随机质量”、“垃圾收集”,i+1)}
600多次,有没有更快的办法

编辑:我在一个.ods文件中获得了所有信息,所以“问题”实际上是关于“代码结构”,而不是初始化本身

//以下是与您相关的两个课程:

    package cs.skins;
public class Main{  
    private static final int NUMBER_OF_SKINS = 608;

    private Skins[] weapons;

    public Main(){
        weapons = new Skins[NUMBER_OF_SKINS];
        initSkins();
    }

    private void initSkins(){
        for(int i = 0; i < weapons.length; i++){

                  if(i+1 == 1){
            weapons[i] = new Skins();
            }else if(i+1 == 2){
                weapons[i] = new Skins();
            }
        }
    }
}

最好的选择是将所有皮肤放入一个JSON文件中。 循环遍历文件并从JSON中创建对象

如果你在谷歌上搜索,有很多库正是这样做的,包括关于如何序列化/反序列化对象的文档

似乎也有一些尝试/工作数据库,您可以在其中检索JSON格式的皮肤


如果您将皮肤信息放在CSV(Excel工作表)文件中,您也可以使用该文件并从文件中读取一行,然后在读取每一行后将该信息放入
皮肤
类的构造函数中。

您最好的选择是将所有皮肤放入JSON文件中。 循环遍历文件并从JSON中创建对象

如果你在谷歌上搜索,有很多库正是这样做的,包括关于如何序列化/反序列化对象的文档

似乎也有一些尝试/工作数据库,您可以在其中检索JSON格式的皮肤


如果您将皮肤信息放在CSV(Excel工作表)文件中,您也可以使用该文件并从文件中读取一行,然后在阅读每一行之后将该信息放入
皮肤
类的构造函数中。

但在您需要弄清楚如何解析ods之前。(我建议转换为其他更简单的格式)

private void initSkins(){
for(int i=0;i
但在此之前,您需要弄清楚如何解析ods。(我建议转换为其他更简单的格式)

private void initSkins(){
for(int i=0;i
CSV文件就足够了。@GrzegorzGórkiewicz没错,但是知道你会从API和网站上得到大部分JSON格式的CS:GO皮肤,这会让他更容易:)非常感谢你的快速响应,我可以下载这个库。并将其导入到我的Eclipse项目中,对吗?“我猜你指的是像线一样的东西,对吧?”古斯塔弗林:是的。然后添加importcsv文件就足够了。@GrzegorzGórkiewicz是真的,但是知道你会从API和网站上得到大部分JSON格式的CS:GO皮肤,这会让他更容易:)非常感谢快速响应,我可以下载这个库。并将其导入到我的Eclipse项目中,对吗?“我猜你指的是像线一样的东西,对吧?”古斯塔弗林:是的。然后添加导入我没有得到这个问题…如果你想查看代码,那么在@Abhijith中发布我问的正是deW1的回答,如果你没有得到,很抱歉。。。你能告诉我我可以更具体地说些什么吗(如果这是一个词的话)?你在问题的主体部分提到了
…“代码结构”,而不是初始化本身…
,如果你需要对你的工作代码进行检查,那么CodeReview就是最好的选择。很高兴知道你得到了你想要的:)@Abhijith谢谢你,正如我说的,我是这个平台的新手,所以谢谢你的帮助:我没有得到这个问题…如果你想要一个代码审查,然后在@Abhijith上发帖子,我问的正是deW1的回答,如果你没有得到,很抱歉。。。你能告诉我我可以更具体地说些什么吗(如果这是一个词的话)?你在问题的主体部分提到了
…“代码结构”,而不是初始化本身…
,如果你需要对你的工作代码进行检查,那么CodeReview就是最好的选择。很高兴知道你得到了你想要的:)@Abhijith谢谢你,正如我说的,我是这个平台的新手,所以谢谢你帮助我:D
    package cs.skins;

public class Skins {

    private String weapon;
    private String skin;
    private String quality;
    private String collection;
    private int    id;
    private int    numberOwned;


    public Skins(String weapon, String skin, String quality, String collection, int id){
        this.weapon      = weapon;
        this.skin        = skin;
        this.quality     = quality;
        this.collection  = collection;
        this.id          = id;
        this.numberOwned = 0;
    }

    public String getWeapon() {
        return weapon;
    }
    public void setWeapon(String weapon) {
        this.weapon = weapon;
    }
    public String getSkin() {
        return skin;
    }
    public void setSkin(String skin) {
        this.skin = skin;
    }
    public String getQuality() {
        return quality;
    }
    public void setQuality(String quality) {
        this.quality = quality;
    }
    public String getCollection() {
        return collection;
    }
    public void setCollection(String collection) {
        this.collection = collection;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getNumberOwned() {
        return numberOwned;
    }
    public void setNumberOwned(int numberOwned) {
        this.numberOwned = numberOwned;
    }
}
private void initSkins(){
            for(int i = 0; i < weapons.length; i++){
                weapons[i] = new Skins("weapon name", "skin name", "quality", "collection", 3);
            }
        }