猿问

如何将用户输入行从输入文件打印到输出文件

我正在努力做到#4:

节目输入:

您的程序将向用户显示欢迎消息以及供用户选择的选项菜单。

欢迎来到Power Plant Analyzer计划。请从以下选项中进行选择:

1.  Upload data 
2.  View data 
3.  Download statistics 
4.  Print Month 5.  Exit the program

设计

您需要首先实现一个名为Entry的类,它存储以下信息:

•   Month name•   Day•   Year•   Power output

根据需要添加适当的方法。

  计划选项

选项1:上传数据

如果用户选择此选项,程序将
a。提示用户输入包含数据的文件。湾 将记录读入数组或ArrayList

输入文件格式:

月日年产量

示例输入文件:

January 10 2018 236.9 January 11 2018 267.6 January 12 2018 278.1

编写一个名为UploadData的方法来执行此任务。选择适当的参数和返回类型。

读完文件后,将再次显示主菜单。

选项2:查看数据

如果用户选择此选项,程序将在屏幕上打印读入的数据。

样本输出:

Date: January 10, 2018 Output: 236.9 Date: January 11, 2018 Output: 267.6 Date: January 12, 2018 Output: 278.1

编写一个名为PrintData的方法来执行此任务。选择适当的参数和返回类型。

完成打印后,将再次显示主菜单。

选项3:下载统计数据

如果用户选择此选项,程序将使用以下数据创建统计文件:

a.  Power output sorted from lowest to highest
b.  Day with highest output 
c.  Total by month 
d.  Average power output for all the data

统计信息文件将与输入文件具有相同的名称,但附加了_stats.txt。例如,如果输入文件名为data.txt,则stats文件将命名为data_stats.txt。

注意:在添加_stats.txt之前,它将从data.txt中删除.txt。它不会创建名为data.txt_stats.txt的文件。您可以使用字符串substr方法从文件名中删除最后4个字符。

编写一个名为CreateStatsFile的方法来执行此任务。选择适当的参数和返回类型。

创建统计文件后,将再次显示主菜单。

选项4:打印月份

如果用户选择此选项,程序将询问月份的名称并将搜索它。它将显示该月的所有数据。如果没有可用数据,则应显示适当的方法。

编写一个名为PrintMonth的方法来执行此任务。选择适当的参数和返回类型。

完成搜索后,将再次显示主菜单

我想我的骨架代码设置正确,但我现在如何卡住了。

public static String printMonth(ArrayList<Entry> MonthList) throws /*what?*/ {
    Scanner keyboard = new Scanner(System.in);
    System.out.println("What is the month's name?");
    String month = keyboard.nextLine();

    for (int i = 0; i < MonthList.size(); i++)
        MonthList.get(i).print();

    Scanner fileIn = new Scanner(new File("data.txt"));
    fileIn.nextLine();
    if (fileIn.hasNext("January")) {

    }

    return month;}


四季花海
浏览 358回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答