我正在努力做到#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;}
相关分类