Rainfall Report Management Java code

import java.util.Scanner;
import java.io.*;
import java.text.DateFormatSymbols;
public class Rainfall
{
static String inttoMonth(int month){
String monthName=new DateFormatSymbols()
.getMonths()[month - 1];
return monthName;
}
public static void main(String[] args) throws
IOException, FileNotFoundException
{
System.out.println("Enter the file name to read rainfall data");
Scanner sc = new Scanner(System.in);
String fileName = sc.next();
sc.close();
double[] rainData = new double[12];
double[] tempData = new double[12];
File file = new File(fileName);
BufferedReader br = new BufferedReader(
new FileReader(file));
String st;
double d;
int i = 0;
while ((st = br.readLine()) != null) {
d = Double.parseDouble(st);
rainData[i] = d;
tempData[i] = d;
i++;
}
br.close();
double totalRainfall = 0;
for (i = 0; i < rainData.length; i++) {
totalRainfall += rainData[i];
}
System.out.printf("\nTotal rainfall (year) : %.2f",
totalRainfall);
System.out.printf("\nAverage Monthly rainfall: %.2f",
totalRainfall / 12);
System.out.println("\n");
double temp;
double minRainFall = 0;
double maxRainFall = 0;
for (i = 0; i < tempData.length; i++) {
temp = 0;
for (int j = 1 + i; j < tempData.length; j++) { if (tempData[i] > tempData[j]) {
temp = tempData[i];
tempData[i] = tempData[j];
tempData[j] = temp;
}
}
minRainFall = tempData[0];
maxRainFall = tempData[tempData.length - 1];
}
int minRainMonth = 0;
int maxRainMonth = 0;
for (i = 0; i < rainData.length; i++) {
if (rainData[i] == minRainFall) {
minRainMonth = i + 1;
}
if (rainData[i] == maxRainFall) {
maxRainMonth = i + 1;
}
}
System.out.println(minRainFall +
" is the min Rainfall in month of "
+ inttoMonth(minRainMonth));
System.out.println(maxRainFall +
" is the max Rainfall and in month of "
+ inttoMonth(maxRainMonth));
}
}

Output:

Rainfall Report Management Java code

Leave a Reply

Your email address will not be published. Required fields are marked *