【发布时间】:2012-04-25 01:41:51
【问题描述】:
我正在尝试使用 Java 中的数组显示来自简单文本文件的统计信息。我知道我应该做什么,但我真的不知道如何编码。那么任何人都可以向我展示如何执行此操作的示例代码。
假设文本文件名为 gameranking.txt,其中包含以下信息(这是一个简单的 txt 文件,用作示例):
Game Event, 1st place, second place, third place, fourth place
World of Warcraft, John, Michael, Bill, Chris
Call of Duty, Michael, Chris, John, Bill
League of Legends, John, Chris, Bill, Michael.
我的目标是显示统计数据,例如有多少第一名、第二名……每个人在如下表中获胜
Placement First place, second, third, fourth
John 2 0 1 0
Chris 0 2 0 1
etc...
我的想法:
首先,我会阅读 gameranking.txt 并将其存储到“输入”。然后我可以使用while循环读取每一行并将每一行存储到一个名为“line”的字符串中,然后使用数组方法“split”提取每个字符串并将它们存储到单独的数组中。之后,我会计算每个人赢得的位置,并使用 printf 将它们显示在一个整洁的表格中。
我的第一个问题是我不知道如何为这些数据创建数组。我是否首先需要通读文件并查看每行和每列中有多少个字符串,然后相应地创建数组表?或者我可以在读取每个字符串时将它们存储在一个数组中吗?
我现在的伪代码如下。
- 计算有多少行并将其存储在行中
- 计算有多少列并将其存储在列中
- 创建数组
String [] [] gameranking = new String [row] [column]- 接下来读取文本文件并将信息存储到数组中
使用:
while (input.hasNextLine) {
String line = input.nextLine();
while (line.hasNext()) {
Use line.split to pull out each string
first string = event and store it into the array
second string = first place
third string =......
- 在代码中的某处,我需要计算展示位置......
有人可以告诉我我应该怎么做吗?
【问题讨论】:
-
是否需要对输入文件的格式进行错误检查?例如,可能会列出另一个游戏,但后面只有 3 个名称(而不是 4 个)。
-
我暂时不需要做错误检查。文本文件几乎都是这种格式。
标签: java arrays statistics