
-----------------------------------
supahsain08
Wed Mar 26, 2008 5:13 pm

how to save input from a text file in to array
-----------------------------------
I got this assignment
This is what i am suppose to do
-----------------------------------------------------------------------------------------------------------
   5. The program must store the following data about each  student in this Talent Show:
          * The student's name (store as a String)
          * The student's average time score http://i32.tinypic.com/r52q.jpg
btw this is the data file
Bart Simpson
7.5
12.3
7.8
19.2
9.9
5.3
8.5
11.8
2.2
4.6
Stewie Griffin
9.5
29.7
7.8
22.5
9.9
12.6
8.5
0
8.2
0
Pinky
2.5
0
1.8
0
3.9
0
6.5
0
5.2
12.1
Rocky N Bullwinkle
10.0
22.2
9.5
17.5
9.9
1.5
8.7
23.7
9.2
11.0
Angelica Pickles
5.5
11.1
6.8
12.2
7.9
13.3
8.1
5.1
7.2
7.9
Pink Panther
8.5
5.5
8.8
6.6
8.9
7.7
9.9
8.8
2.2
9.9
Josie
9.5
0
8.8
12.2
9.9
0
8.5
0
9.2
5.3
Rogue
8.5
1.1
7.8
2.2
7.9
3.3
7.5
4.4
8.2
5.5
Usagi Tsukino
8.5
15.5
8.8
30.1
9.9
19.7
9.5
11.0
8.2
8.6
Yosemite Sam
0
15.2
0
29.5
3.9
0
0
16.0
0
7.7
----------------------------------------------------------------------------------------------------
My code so far

import java.io.*;

public class test
{
    public static void main (String [] args)
    {

        FileInputStream File1;
        DataInputStream In;
        String fileInput = "";

        try
        {
           File1 = new FileInputStream ("data.txt");


            In = new DataInputStream (File1);


            while (In.available () > 0)
            {
                fileInput = In.readLine ();
                System.out.println (fileInput);
            }

            In.close ();
        }

        catch (FileNotFoundException e)
        {
            System.out.println ("Error - this file does not exist");
        }

        catch (IOException e)
        {
            System.out.println ("error=" + e.toString ());
        }

    }
}

My question, how do i save the data in to an array, and how do i seperatly save names in to different array, and their scores in to different arrays

btw he said you can't use scanner class

Thanks

-----------------------------------
Vermette
Wed Mar 26, 2008 7:55 pm

Re: how to save input from a text file in to array
-----------------------------------
Are you allowed to use BufferedReader?  That would allow you to pull in one line at a time, then you can test if the line is a number or a name.

Something like the following:


BufferedReader br = new BufferedReader(new FileReader(new File("yourfilepath")));


Here is the javadoc link, which will give you info on all the methods available in the class:
[url=http://java.sun.com/j2se/1.4.2/docs/api/java/io/BufferedReader.html]BufferedReader

-----------------------------------
syntax_error
Wed Mar 26, 2008 11:36 pm

Re: how to save input from a text file in to array
-----------------------------------
a) your class name should have the first char in it CAP

b) think on how you would input data from the user using the scanner  class into an array; then use the same method but you read the line first instead of having the user enter it first. 

I hope that helps? if not heres how you would do it with the scanner class apply it to buffer

    double[][] marks = new double [STUDENTS][TESTS];
    for (int i = 0; i < STUDENTS; i++){
    
      System.out.println ("For student #" + (i + 1));
      
      for (int j = 0; j < TESTS; j++){
      
        System.out.print (" and test # " + (j + 1) + " the mark was: ");
        marks[i][j] = sc.nextDouble();
  
      }


-----------------------------------
wtd
Thu Mar 27, 2008 10:25 am

RE:how to save input from a text file in to array
-----------------------------------
Can we please use Java 1.5's printf a bit to clean up code in examples?

    double[][] marks = new double [STUDENTS][TESTS]; 
    for (int i = 0; i < STUDENTS; i++){ 
    
      System.out.printf("For student #%d\n", i + 1); 
      
      for (int j = 0; j < TESTS; j++){ 
      
        System.out.printf(" and test #%d the mark was: ", i + 1); 
        marks[i][j] = sc.nextDouble(); 
  
      } 
