Please forgive me as I am new to all this. My code reads a text file of numbers and names. 3 sets of numbers after each name, each set of 3 gets put into an array. When the array gets sent to another class in the loop, the contents of the array becomes overwritten, I am assuming because it is just referencing the address of the array, not the actual values.
public void readMarksData(String fileName) throws FileNotFoundException
{
File dataFile = new File(fileName);
Scanner scanner = new Scanner(dataFile);
int[] marks = new int[3];
scanner.nextLine();
int i = 0;
while( scanner.hasNext() )
{
String studentName = scanner.nextLine();
while(i < 3)
{
try
{
marks[i] = scanner.nextInt();
i++;
}
catch ( InputMismatchException ex )
{
i=0;
}
}
scanner.nextLine();
storeStudentRecord(studentName, marks);
//scanner.nextLine();
i=0;
}
scanner.close();
}
Code for storing values in another class
private void storeStudentRecord(String name, int[] marks)
{
//int[] x = new int[3]
StudentRecord student = new StudentRecord(name, marks);
marksList.add(student);
}
Constructor method in other class
public StudentRecord(String nameInput, int[] marksInput)
{
// initialise instance variables
name = nameInput;
noOfMarks = 0;
marks = marksInput;
}
This has been driving me nuts for hours so any help would be greatly greatly appreciated, thank you.