Use Scanner class to read a file of integers and find the average of each line and add into a 1D array of size equal to number of lines. There will be 5 lines with 5 integers per line seperated by spaces in the input file.
Additional Requirements
Need to have two methods which is not dependent on any static/instance variable:
- public static int[] arr readIntAndInsertArr(String filename) - receives a file name as input, reads it, uses findAverage to find average of a line.
- public static int findAverage(String line) - finds average of a String of integers seperated by spaces.
Example Input file contents
1 2 3 4 5
3 4 5 8 9
6 7 8 9 7
4 5 6 7 8
22 33 44 5 6
Hint
You need to add the average of each line into an array. For example, arr[0] will be 3, which is calculated as (1+2+3+4+5)/5.
Since there are 5 lines array size should be 5.
ALL THE BEST !!!
package com.javajee.Utils;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class UseScanner {
public static void main(String[] args) throws IOException {
int[] Arr=new int[5];
Arr=readIntAndInsertArr("integer.txt");
printValues(Arr);
}
public static int[] readIntAndInsertArr(String filename) throws IOException{
File file=new File(filename);
Scanner sc=new Scanner(file);
int[] arr=new int[5];
int k=0;
while(sc.hasNextLine()){
arr[k]=findAverage(sc.nextLine());
k++;
}
return arr;
}
public static int findAverage(String line){
int total=0;
Scanner s=new Scanner(line);
while(s.hasNextLine()){
total=total+s.nextInt();
}
int average=total/5;
return average;
}
public static void printValues(int[] A){
for(int i=0;i<5;i++){
System.out.println(A[i]);
}
}
}