//这是我的第一篇文章,请告诉我,如果我做错了什么。 :d
我最近开始“学习”Java,我刚开始编写一个小小的csgo皮肤管理器。我想为游戏中实现的每个皮肤添加一个对象,所以我开始使用一个对象数组。问题是游戏中有大约608个皮肤,我不想打字
if(i+1 == [ID]){weapons = new Skins("weaponName", "skinName", "randomQuality", "garbageCollection", 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();
}
}
}
}
和
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;
}
}
答案 0 :(得分:2)
但在你需要弄清楚如何解析ods之前。 (我建议转换为其他更简单的格式)
private void initSkins(){
for(int i = 0; i < weapons.length; i++){
weapons[i] = new Skins("weapon name", "skin name", "quality", "collection", 3);
}
}
答案 1 :(得分:0)
你最好的选择是将所有皮肤放入JSON文件中。 循环遍历文件并使用JSON创建对象。
如果你谷歌有很多库正在做这件事,包括如何序列化/反序列化对象的文档。
似乎还有一些尝试/工作数据库,您可以在其中检索JSON格式的皮肤。
如果您在CSV(Excel工作表)文件中有皮肤信息,您也可以使用它并从文件中读取一行,并在读取每一行后将该信息放入Skins
类的构造函数中