我真的不知道如何说出这个问题,因为我真的不明白该怎么做
我有两个'.java'文件
CREATEFILE:
public void addRecords(String Package, String ClassName, String[] ListOfBoxes)
{
format.format("%s", "package " + Package + ";"\n");
format.format("%s", "@SideOnly(Side.CLIENT)\n");
format.format("%s", "public class " + ClassName + " extends ModelBiped\n");
format.format("%s", "{\n");
format.format("%s", " ModelRenderer " + ListOfBoxes + ";\n");
format.format("%s", "}\n");
}
代码我正在尝试运行
createFile file = new createFile();
file.openFile();
String[] Boxes = {"test1", "test2", "test3"};
file.addRecords("default", "ModelTest", Boxes);
file.closeFile();
这是输出:
package net.minecraft.client.model;
@SideOnly(Side.CLIENT)
public class ModelTest extends ModelBiped
{
ModelRenderer [Ljava.lang.String;@3794d372;
}
这就是我想要的
package net.minecraft.client.model;
@SideOnly(Side.CLIENT)
public class ModelTest extends ModelBiped
{
ModelRenderer test1;
ModelRenderer test2;
ModelRenderer test3;
}
这可能很简单,但我是java的菜鸟
提前致谢
答案 0 :(得分:1)
您需要Arrays.deepToString
方法。重写addRecords
方法中的相应行,如下所示:
format.format("%s", " ModelRenderer " + Arrays.deepToString(ListOfBoxes) + ";\n");
答案 1 :(得分:0)
尝试使用createFile:
public void addRecords(String Package, String ClassName, String[] ListOfBoxes)
{
format.format("%s", "package " + Package + ";"\n");
format.format("%s", "@SideOnly(Side.CLIENT)\n");
format.format("%s", "public class " + ClassName + " extends ModelBiped\n");
format.format("%s", "{\n");
for (String box : listOfBoxes)
{
format.format("%s", " ModelRenderer " + box + ";\n");
}
format.format("%s", "}\n");
}
不同之处在于,此代码呈现数组中的每个元素,而您的代码将一次性呈现整个数组。