我正在尝试这样做:
选项 3:下载统计数据
如果用户选择此选项,程序将创建一个包含以下数据的统计文件:
a.功率输出从低到高排序
b.产出最高的一天
C。按月总计
d.所有数据的平均功率输出
统计文件将与输入文件同名,但附加 _stats.txt。例如,如果输入文件名为 data.txt,则统计文件将命名为 data_stats.txt。
注意:在添加 _stats.txt 之前,它将从 data.txt 中删除 .txt。它不会创建名为 data.txt_stats.txt 的文件。您可以使用 String.subString() 方法从文件名中删除最后 4 个字符。
编写一个名为 CreateStatsFile 的方法来完成此任务。选择适当的参数和返回类型。
创建统计文件后,将再次显示主菜单。
我该怎么做A-D?我认为我的循环设置正确。
这是 data.txt 文件中的内容
January 10 2018 236.9
January 11 2018 267.6
January 12 2018 278.1
January 13 2018 246.9
January 14 2018 262.3
January 15 2018 288.6
February 2 2018 199.7
February 3 2018 134.6
February 4 2018 200.8
February 5 2018 198.2
March 9 2018 169.7
March 10 2018 168.3
March 11 2018 179.4
我认为我的循环设置正确
public static String createStatsFile () throws IOException
{
File file = new File("data.txt");
Scanner sc = new Scanner(file);
while(sc.hasNext())
{
System.out.println(sc.);
}
最佳答案
此类数据结构转换任务理想情况下有 3 个步骤:
- 您读取输入并将其转换为内部数据结构。
- 如果需要,您可以对数据结构进行一些额外的转换。
- 您打印此数据结构。
正如评论所说,通常 (1) 的麻烦最多,它被称为解析。
但是,通常在源代码中明确分开执行这些步骤可以避免很多麻烦。
重要的是:仅加载一次解释您的输入文件。之后,您将其保存在程序内存中,可能作为某些记录集,您可以根据需要轻松使用。
无需多次解析此文件。
您的输入数据结构应遵循您的输入结构。 (2) 的主要任务是转换数据结构,这对于 (3) 来说更容易处理。
(2) 在您的情况下主要意味着用聚合结果(平均值、总和等)扩展您的数据结构。
关于java - 如何在编辑输出时读取文件并创建新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080779/