Turn-in directory ex03 Files to turn-in Program.java Allowed Input/Output System.out, System.err, Scanner(System.in) Types Primitive types, String Operators Standard operations of primitive types, conditions, loops Methods String::equals When developing corporate systems, you often need to collect different kinds of statistics. And the customer always wants such analytics to be illustrative. Who needs cold, dry figures? Educational organizations and online schools often belong to this type of customers. Now, you need to implement functionality to visualize students' progress. Customer wants to see a chart showing student's progress changes over several weeks. Customer evaluates this progress as a minimal grade for five tests within each week. Each test can be graded between 1 and 9. The maximum number of weeks for the analysis is 18. Once the program has obtained information for each week, it displays the graph on the console to show minimum grades for a specific week. And we keep assuming that 42 is the input data limit. The exact guaranteed number of tests in a week is 5. However, the order of weekly data input is not guaranteed, so Week 1's data can be entered after Week 2's data. If data input order is wrong, IllegalArgument message shall be displayed, and the program shall be shut down with -1 code. Note: 1. There are many options for storing information, and arrays are just one of them. Apply another method for storing data about student tests without the use of arrays. 2. String concatenation often results in unexpected program behavior. If there are many iterations of a concatenation operation in a cycle for a single variable, an application may slow down significantly. That is why we should not use string concatenation inside a loop to generate a result. Example of program operation: $ java Program -> Week 1 -> 4 5 2 4 2 -> Week 2 -> 7 7 7 7 6 -> Week 3 -> 4 3 4 9 8 -> Week 4 -> 9 9 4 6 7 -> 42 Week 1 ==> Week 2 ======> Week 3 ===> Week 4 ====> package ex03; import java.util.Scanner; public class Program { static String weekWord = "Week"; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numbersOfWeeks = 1; String inputWeekWord; int grade; String checkString; while (numbersOfWeeks <= 18) { inputWeekWord = scanner.next(); if (inputWeekWord.equals("42")) { System.exit(0); } else if (!inputWeekWord.equals(weekWord) || scanner.nextInt() != numbersOfWeeks || !scanner.nextLine().equals("")) { System.out.println("IllegalArgument"); System.err.println(-1); } int minGrade = 9; for (int i = 1; i <= 5; i++) { grade = scanner.nextInt(); if (grade < 1 || grade > 9) { System.out.println("IllegalArgument"); System.err.println(-2); } if (grade < minGrade) { minGrade = grade; } } // тут не понимаю что делать??? numbersOfWeeks++; } } }