It uses scanner to read double numbers from a file and display their average. It is assumed that input is terminated by the string “done”.
import java.util.*;
import java.io.*;
class AvgFile{
public static void main(String a[]) throws IOException{
int count =0;
double sum=0;
//Write output to a file.
FileWriter fout= new FileWriter ("test.txt");
fout.write("2 3.4 5 6 7.4 9.1 10.5 done");
fout.close();
FileReader fin= new FileReader ("Test.txt");
Scanner src = new Scanner (fin);
//Read and sum numbers
while(src.hasNext()) {
if(src.hasNextDouble()) {
sum+= src.nextDouble();
count++;
}
else {
String str =src.next();
if(str.equals("done")) break;
else {
System.out.println("ERROR");
return;
}
}
}
fin.close();
System.out.println("Average is " +sum/ count);
}
}


Recent Comments