我正在尝试制作一个DnD字符生成器,部分原因是我需要一个可以通过其他方法编辑的统计列表,所以我试图在类级别添加它。我目前的代码是:
public class CharacterCreator extends Application
{
ArrayList<String> stats = new ArrayList<String>();
stats.add("STR");
stats.add("DEX");
stats.add("CON");
stats.add("INT");
stats.add("WIS");
stats.add("CHA");
public void start(Stage primaryStage)
{
但是当我试图运行它时,我在每个“添加”行都有一个“预期标识符”错误。
初始化块怎么样?
public class CharacterCreator extends Application {
public ArrayList<String> stats = new ArrayList<String>();
{
stats.add("STR");
stats.add("DEX");
stats.add("CON");
stats.add("INT");
stats.add("WIS");
stats.add("CHA");
}
}
你不能在课堂上有这样的陈述。您需要在方法、构造函数或初始化块中填充数组:
public class CharacterCreator extends Application{
ArrayList<String> stats;
public CharacterCreator() {
stats = new ArrayList<String>();
stats.add("STR");
stats.add("DEX");
stats.add("CON");
stats.add("INT");
stats.add("WIS");
stats.add("CHA");
}
}
如果希望在类级别而不是对象级别定义统计信息,则需要添加静态初始化块:
public class CharacterCreator extends Application{
static ArrayList<String> stats;
static {
stats = new ArrayList<String>();
stats.add("STR");
stats.add("DEX");
stats.add("CON");
stats.add("INT");
stats.add("WIS");
stats.add("CHA");
}
}
您可以像这样初始化ArrayList
:
ArrayList
如答案所示。或者,只需将add调用放入方法或构造函数中,如下所示:
ArrayList<String> stats = new ArrayList<>();
// Adding to ArrayList inside a constructor
public CharacterCreator()
{
stats.add("STR");
stats.add("DEX");
}
我使用log4j2,我想给我所有的消息添加一个前缀。这个前缀被传递给构造函数参数,它取决于类的实例。所以我们在对象级别(不是类或线程)。 例如,我有一个实例化的类,就像一样,所以当我在这个类上使用时,就在消息之前编写。对于,将显示。 谢谢你的帮忙
我正在尝试用标准的Python日志记录到文件来替换一种旧的记录信息的方法。该应用程序目前有一个日志文件,它被设置为捕获信息和调试消息,所以我希望它在一个较低的级别,而不是由主日志捕获。 应用程序结构: 在和中是对旧的函数的调用,我不希望将该函数记录在中,但也不希望它们出现在文件中。 理想的工作方式是创建一个带有调试函数的包装器,该函数在新的级别上进行日志记录,我已经了解到这需要的扩展。 因此,在中
问题内容: 我正在尝试添加程序包级别的注释,但是我不知道如何执行此操作。示例被赞赏。 问题答案: 从文章摘要这里 在package-info.java中: 在PackageLevelAnnotation.java中 编辑:更多包级别信息。下面是在Java语言规格封装章链接:包
问题内容: 在Elasticsearch中进行等效于SQL连接的最佳方法是什么? 我有一个带有两个大表的SQL安装程序:Persons和Items。一个人可以拥有 许多 物品。人员和项目行都可以更改(即更新)。我必须运行按人员和项目方面进行筛选的搜索。 在Elasticsearch中,您似乎可以使Person成为Item的嵌套文档,然后使用。 但是:如果您随后更新一个Person,我认为您需要更新
问题内容: 当我打电话 这个孩子被添加到最后。有没有办法让这个新孩子成为第一个孩子? 问题答案: 如前所述,SimpleXML不支持该功能,因此您必须使用DOM。我的建议是:用程序中需要使用的任何内容扩展SimpleXMLElement。这样,您可以将所有DOM操作和其他XML魔术保留在实际程序之外。通过将两个问题分开,可以提高可读性和可维护性。 以下是使用新方法prependChild()扩展S
这是A.java 我想得到Newa. java 我想使用javaparser添加一个变量。