Thursday 3 November 2011

CS506 Assignment No. 1 Solution

Question: 
Write a program that computes the average and standard deviation of the text floating point numbers in a file. Use the following formulas for the average and the standard deviation of N values. The formulas compute the sum, the sum of squares, the average, the average square, the variance, and finally, the standard deviation.
sum = x1 + x2 + x3 + ... + xN-1 + xN 

sumSQ = x12 + x22 + x32 + ... + xN-12 + xN2 

avg = sum/N

avgSQ = sumSQ/N

var = avgSQ - avg2

sd = var(1/2)
The input file will contain any number text floating point numbers, similar to the following:
10.5
12.9
9.67
12.05
8.23
10.08
10.23
7.7
10.4
11.34
Numbers could be several, or none per line, and negative numbers are perfectly OK. 

Solution:

Input Text:

10.0
20.0
30.0
40.0
50.0
............

SAVE THIS FILE IN .JAVA

import java.io.*;
import java.util.*;
import javax.swing.*;

public class assignment1{

public static void main( String args[] ){

try{
FileReader fr = null;
BufferedReader br = null;

fr = new FileReader ("input.txt");
br = new BufferedReader (fr);
String line = br.readLine();

double sum =0 ;


while (line != null) {
double num = Double.parseDouble(line);
sum += num;
line = br.readLine();
}

JOptionPane.showMessageDialog(null, "Sum = " + sum);
br.close();
fr.close();
}
catch(NumberFormatException nfEx) {
System.out.println(nfEx);
}
catch(FileNotFoundException fnfEx){
System.out.println(fnfEx);
}
catch(IOException ioEx){
System.out.println(ioEx);
}
}
}

No comments:

Post a Comment

Note: only a member of this blog may post a comment.