In Java language: Write a rainfall class that stores the total rainfall for each of 12 months of years 2015 -2017 into an 2D array of doubles. Use the text file at Actividades/Tareas link as input of rainfall data. The program should read the input data from a text file. The program should have methods that at least return the following: • Total rainfall for the years 2015 – 2017 - return a 1D array • The average monthly rainfall for years 2015-2017 - return a 1D array • The year with the most rain • The year with the least rain • The month with the most rain in a specific year • The month with the least rain in a specific year Demonstrate the class in a complete program.
Example of rainfall data:
2015: 4.96 3.27 1.50 1.38 2.28 2.11 1.61 5.93 4.30 1.77 8.72 3.47 2016: 1.60 3.88 2.22 10.02 7.16 2.74 5.10 5.14 4.91 6.39 17.65 4.30 2017: 1.81 1.70 6.04 6.25 4.53 3.93 6.66 7.68 15.79 6.61 10.16 3.33
Note: Could you plz go through this code and let me
know if u need any changes in this.Thank You
_________________
We have to paste the input file in the project folder

__________________________
// rainfall.txt
2015: 4.96 3.27 1.50 1.38 2.28 2.11 1.61 5.93 4.30
1.77 8.72 3.47
2016: 1.60 3.88 2.22 10.02 7.16 2.74 5.10 5.14 4.91 6.39 17.65
4.30
2017: 1.81 1.70 6.04 6.25 4.53 3.93 6.66 7.68 15.79 6.61 10.16
3.33
_________________________
// ReadFileRainfall.java
import java.io.File;
import java.io.FileNotFoundException;
import java.text.DecimalFormat;
import java.util.Scanner;
public class ReadFileRainfall {
public static void main(String[] args)
throws FileNotFoundException {
// DecimalFormat class is used to
format the output
DecimalFormat df = new
DecimalFormat(".00");
// Declaring char array
String months[] = { "January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October", "November",
"December" };
int
rows=3,cols=12;
int cnt=0;
double rainfall[][]=new
double[rows][cols];
String years[]=new
String[rows];
Scanner sc=new Scanner(new
File("rainfall.txt"));
while(sc.hasNext())
{
years[cnt]=sc.next();
for(int
i=0;i<cols;i++)
{
rainfall[cnt][i]=sc.nextDouble();
}
cnt++;
}
sc.close();
double
yearsTot[]=totYearsRainfall(rainfall);
double
avgMonthRain[]=avgMonthlyRainFall(rainfall);
for(int
i=0;i<yearsTot.length;i++)
{
System.out.println("Total Rainfall in
"+years[i]+":"+df.format(yearsTot[i]));
}
for(int
i=0;i<months.length;i++)
{
System.out.println("Average rainfall in
"+months[i]+":"+df.format(avgMonthRain[i]));
}
int
maxYearIndx=maxRainInYear(yearsTot);
System.out.println("Year with most
rain is :"+years[maxYearIndx]);
int
minYearIndx=minRainInYear(yearsTot);
System.out.println("Year with least
rain is :"+years[minYearIndx]);
int year=2015;
int
yearIndx=getYearIndx(years,year);
int
maxRainMonIndx=maxRainInYear(rainfall[yearIndx]);
System.out.println("Maximum rain in
year "+year+" in the month "+months[maxRainMonIndx]);
year=2017;
yearIndx=getYearIndx(years,year);
int
minRainMonIndx=minRainInYear(rainfall[yearIndx]);
System.out.println("Minimum rain in
year "+year+" in the month "+months[minRainMonIndx]);
}
private static int getYearIndx(String[]
years, int year) {
int indx=0;
for(int
i=0;i<years.length;i++)
{
if(Integer.parseInt(years[i].substring(0,years[i].length()-1))==year)
{
indx=i;
}
}
return indx;
}
private static int minRainInYear(double[]
tot) {
double min=tot[0];
int indx=0;
for(int
i=0;i<tot.length;i++)
{
if(min>tot[i])
{
min=tot[i];
indx=i;
}
}
return indx;
}
private static int
maxRainInYear(double[] tot) {
double max=tot[0];
int indx=0;
for(int
i=0;i<tot.length;i++)
{
if(max<tot[i])
{
max=tot[i];
indx=i;
}
}
return indx;
}
private static double[]
avgMonthlyRainFall(double[][] rainfall) {
double avg[]=new
double[rainfall[0].length];
double sum=0;
for(int
i=0;i<rainfall[0].length;i++)
{
sum=0;
for(int
j=0;j<rainfall.length;j++)
{
sum+=rainfall[j][i];
}
avg[i]=sum/rainfall.length;
}
return avg;
}
private static double[]
totYearsRainfall(double[][] rainfall) {
double tot[]=new
double[rainfall.length];
double sum=0;
for(int
i=0;i<rainfall.length;i++)
{
sum=0;
for(int
j=0;j<rainfall[0].length;j++)
{
sum+=rainfall[i][j];
}
tot[i]=sum;
}
return tot;
}
}
___________________________________
Output:
Total Rainfall in 2015::41.30
Total Rainfall in 2016::71.11
Total Rainfall in 2017::74.49
Average rainfall in January:2.79
Average rainfall in February:2.95
Average rainfall in March:3.25
Average rainfall in April:5.88
Average rainfall in May:4.66
Average rainfall in June:2.93
Average rainfall in July:4.46
Average rainfall in August:6.25
Average rainfall in September:8.33
Average rainfall in October:4.92
Average rainfall in November:12.18
Average rainfall in December:3.70
Year with most rain is :2017:
Year with least rain is :2015:
Maximum rain in year 2015 in the month November
Minimum rain in year 2017 in the month
February
_______________Could you plz rate me well.Thank You
In Java language: Write a rainfall class that stores the total rainfall for each of 12...
Write a program that scores the total rainfall for each of 12 months into an array double. A sample array definition is shown below double thisYear[] = {1.6, 2.1, 1.7, 3.5, 2.6, 3.7, 3.9, 2.6, 2.9, 4.3, 2.4, 3.7}; The program should have the four functions to calculate the following 1. The total rainfall for the year 2. The average monthly rainfall 3. The month with most rain 4. The month with least rain Output: What to deliver? Your .cpp...
Write a program that stores the total amount of rain for each month in an array. Prompt the user for the values for each month to load the array. Display this information back to them in a nice format with the name of the month and the rainfall for that month. Display back the total rainfall for the year, the average monthly rainfall, the month with the most rain, the month with the least rain, the months with rainfall above...
The task is to write Song.cpp to complete the implementation of the Song class, as defined in the provided header file, Song.h, and then to complete a program (called sales) that makes use of the class. As in Project 1, an input data file will be provided containing the song name and other information in the same format as in Program 1: Artist Song_Title Year Sales Medium As before, the program (sales) which are individual copies, will use this information to compute the gross...
Please try to write the code with Project 1,2 and 3 in
mind. And use java language, thank you very much.
Create an Edit Menu in your GUI
Add a second menu to the GUI called Edit which will have one
menu item called Search. Clicking on search should prompt the user
using a JOptionPane input dialog to enter a car make. The GUI
should then display only cars of that make. You will need to write
a second menu...