title: Min Max Average Data input
body: <p>Still struggling with this. Need to find the min, max and average of input data and print it to an external data file. Can anyone spot problems in my code. It doesn't print out anything.</p>
  
  <p>It needs to read a file that has the following</p>
  
  <pre><code>min:1,2,3,4,5,6
  max:1,2,3,4,5,6
  avg:1,2,3,4,5,6
  </code></pre>
  
  <p>but needs to print it out in the following format</p>
  
  <pre><code>The min of [1, 2, 3, 5, 6] is 1.
  The max of [1, 2, 3, 5, 6] is 6.
  The avg of [1, 2, 3, 5, 6] is 3.4.
  
  
  
  
  public class Test {
  
  public static void main(String[] args) throws IOException {
  
  
  
      FileInputStream fi = new FileInputStream("F:\\Test\\file.txt");
      FileOutputStream fo = new FileOutputStream("F:\\Test\\output.txt");
      BufferedReader br = new BufferedReader(new InputStreamReader(fi));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fo));
  
      String strLine;
      while ((strLine = br.readLine()) != null)   {
  
            String[] arr = strLine.split(" ");
            String[] nos = arr[1].split(",");
  
            Set&lt;Integer&gt; set = new HashSet&lt;Integer&gt;();  
            for(int i = 0; i&lt;nos.length; i++){
                int no = Integer.parseInt(nos[i]);
                     set.add(no); 
                  }
            TreeSet&lt;Integer&gt; sortedSet = new TreeSet&lt;Integer&gt;(set); 
  
            switch(arr[0]) {
  
            case "Min:":
                String msg1="The Min of [" +arr[1]+ "] is " +(Integer)sortedSet.first();
                bw.write(msg1);
                bw.newLine();
  
                break;
  
            case "Max:":
                String msg2="The Max of [" +arr[1]+ "] is " +(Integer)sortedSet.last();
                bw.write(msg2);
                bw.newLine();
                break;
  
            case "Avg:":
                Object[] noarray = sortedSet.toArray();
                int noarraysize = noarray.length-1;
                int sum=0;
                for(int i=0;i&lt;=noarraysize;i++) {
  
                    int no=Integer.valueOf(noarray[i].toString());
                    sum = sum + no;
                    if(i==noarraysize) {
                        String msg3="The Avg of [" +arr[1]+ "] is  " +(double)sum/noarray.length;
                        bw.write(msg3);
                        bw.newLine();
                                                }
                }
                break;
  
            case "Sum:":
                Object[] noarray1 = sortedSet.toArray();
                int noarraysize1 = noarray1.length-1;
                int sum1=0;
                for(int i=0;i&lt;=noarraysize1;i++) {
                    int no=Integer.valueOf(noarray1[i].toString());
                    sum1 = sum1 + no;
                    if(i==noarraysize1) {
                        String msg4="The Sum of [" +arr[1]+ "] is  " +sum1;
                        bw.write(msg4);
                        bw.newLine();
                                                }
                }
                break;
  
          }
  
  }
      br.close();
      bw.close();
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>If I add a print statement outside of the code body it works but none of the messages that I input will print externally to a text file.</p>