Я пытаюсь сделать это: если пользователь выберет эту опцию, программа выведет на экран считанные данные.
Пример вывода:
Дата: 10 января,2018 г. Выходные данные: 236,9 Дата: 11 января 2018 г. Выходные данные: 267,6 Дата: 12 января 2018 г. Выходные данные: 278,1
Для выполнения этой задачи напишите метод с именем PrintData.Выберите подходящие параметры и тип возврата.
После завершения печати главное меню отобразится снова.
Я уже прочитал данные в моем списке массивов в моем методе Upload Data, сейчас я пытаюсь выяснить, как создать отдельный метод, в котором он печатает Arraylist UploadData.
То, что у меня есть сейчас, не сработает, я не думаю.
: ` public static void main(String[] args) throws IOException {
Scanner keyboard = new Scanner(System.in);
//calling menu
showMenu();
int userChoice=keyboard.nextInt();
while (userChoice == 1)
{
UploadData();
showMenu();
int userchoice=keyboard.nextInt();
}
while(userChoice ==2)
{
PrintData();
showMenu();
int userchoice=keyboard.nextInt();
}
}
public static void showMenu()
{
//creating menu
System.out.println("Welcome to the Power Plant Analyzer program. Please choose from the following options:\n"
+ " 1. Upload Data\n 2. View Data \n 3. Download Statistics \n 4. Print Month \n 5. Exit the program");
}
public static String[] UploadData() throws IOException
{
Scanner keyboard = new Scanner(System.in);
//Asking for file
System.out.println("What is the name of the file that contains the data?");
String inputFileName=keyboard.nextLine();
//creating file
File f = new File(inputFileName);
Scanner inputFile = new Scanner(f);
//creating arraylist
ArrayList<Entry> MonthList = new ArrayList<>();
//reading the file
while(inputFile.hasNext())
{
//read a line
String m = inputFile.next();
String d = inputFile.next();
String y = inputFile.next();
float p = inputFile.nextFloat();
//create Entry with info read in
Entry i = new Entry(m,d,y,p);
//add it to the arraylist
MonthList.add(i);
}
//print Entry's into arraylist
//for(int i =0; i <MonthList.size(); i++)
//MonthList.get(i).print();
return null;
}
public static void PrintData(ArrayList<Entry> MonthList)
{
for(int i =0; i <MonthList.size(); i++)
MonthList.get(i).print();
//ArrayList<Entry> MonthList = new ArrayList<>(Arrays.asList());
//int pos = Collections.binarySearch(MonthList);
}
} `
//declaring variables
private String month;
private String day;
private String year;
private float powerOutput;
//Constructors
public Entry(){}
public Entry (String m, String d, String y, float p)
{
month = m;
day =d;
year =y;
powerOutput=p;
}
//creating print to call ArrayList in main
public void print()
{
System.out.println("Month: " + month + " Day: " + day + " Year: " + year + " Power Output: " + powerOutput);
}
}