gpt4 book ai didi

Java:从另一个数组创建数组

转载 作者:行者123 更新时间:2023-12-01 14:51:08 26 4
gpt4 key购买 nike

我有一些用于问题游戏的 .txt 文件,我将它们分成几个部分。查看这些部分,当用户转到下一页问题时,我会阅读 txt 中的下一行。问题是我想将每一行的一部分存储到一个数组中。例如,如果有 30 行,我需要使用这些部分创建另一个包含 30 个参数的数组,以便稍后与玩家回答的问题数组进行比较。

也许它不是很清楚,所以这是代码。

我阅读了文件:

try {
InputStream is = context.getAssets().open(questionFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
// Skips lines
for (i = 0; i< questionNumber; i++) {
reader.readLine();

}
question = reader.readLine();

用户转到下一个问题:

public void Next(){
questionNumber=questionNumber + 1;
}

读取行的部分以及我想要创建行数的Array的部分:

public String getCorrecta() {
String[] parts = question.split("\\;");
String correcta = parts[8];
return correcta;
}

如果有包含以下示例的 txt,则恢复:

1;1; ; ; ; ; ; ;C
2;2; ; ; ; ; ; ;B
3;3; ; ; ; ; ; ;A
4;4; ; ; ; ; ; ;D

我需要一个像这样的数组:

public String [] Example = {"C","B","A","D"}

最佳答案

这里是代码(假设索引 8(从零开始)是预先知道的。但是,如果您想读取文件并将所有列放入单独的数组中(首选集合而不是数组),您应该在一次完成,不要多次读取该文件。需要更好地了解您的用例。

      public static final String COLUMN_SEPARATOR = ";";
String[] stringsAtIndexN(int index, String inputFile)
throws IOException {
List<String> list = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader(inputFile));
String str;
while ((str = br.readLine()) !=null) {
list.add(str.split(COLUMN_SEPARATOR)[index]);
}
return list.toArray(new String[list.size()]);
}

关于Java:从另一个数组创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com