我有一个对象调用问题。它具有以下属性:
我有一个名为questions.txt的文件,其中包含有关这些属性的信息,属性由逗号分隔。 (每行1个对象)
EG
胭脂红是一种生动的色调,其中有颜色?,蓝色,绿色,黄色,红色,1,2
我想读取文件的每一行创建一个Object Question并将其添加到名为questionBank的ArrayList中。
通过上面提到的示例,这将是创建新Object的结果。
问题=胭脂红是哪种颜色的生动色调?
option1 =蓝色
option2 =绿色
option3 =黄色
回答=红色
难度= 1
category = 2
到目前为止,我已经获得了以下代码,但是不知道如何在逗号之间提取每个属性,因此我可以在Object实例化期间将其用作参数。
Scanner input = new Scanner(new File("/Users/usaamahpatel/IdeaProjects/sdd_assignment/src/questions.txt"));
input.useDelimiter(",");
while (input.hasNext()) {
System.out.println(input.next());
}
这是我从上面的代码得到的输出:
Carmine is a vivid shade of which colour?
Blue
Green
Yellow
Red
1
2
如您所见,它在逗号之间打印每个项目,如何为每个对象提取所有属性,依此类推?
假设您想要的每个问题由换行符分隔,您可以使用input.nextLine().split(",")
获取一个字符串数组,其中每个元素都是一个属性。然后,您可以使用Double.valueOf()
和Integer.valueOf()
将难度和类别解析为正确的类型。
我假设你在文件中有多行,所以不止一个问题,对吧?
所以然后使用分隔符而不是,
,但newline
逐行读取(或使用Files#readLines
。然后你知道每一行代表一个对象。要检索对象的不同属性,你可以用,
分割线并填充对象