I recommend you to use an ArrayList
to read the full file:
Scanner s = new Scanner(new File(//Here the path of your file));
int number;
String name;
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext())
{
list.add(s.nextLine());
}
Now you have all the lines of your file (as a String
) so now you can operate with the full data that it's inside.
Further, the numbers are in the even lines so you can use a loop to through all the lines and check if the line that you are using now it's even or not.
for(int i = 0; i < list.size(); i++)
{
if(i%2 == 0)
{
number = Integer.parseInt(list.get(i));
//You can use the references to your methods with this number
}
else
{
name = list.get(i);
}
}
With the %
you will get the rest of the division (I'm using a property of pairs numbers). With Integer.parseInt
you will parse your String
to int
.
So now you will be able to use this numbers to operate or whatever you want.
EDIT: Here you have an example without using ArrayList
. In this case I'm going to use nextLine()
and nextInt()
functions:
Scanner s = new Scanner(new File(//Here the path of your file));
int count = 0;
int number;
int name;
while(s.hasNext())
{
if(i%2 == 0)
{
number = s.nextInt();
s.nextLine();
//You can use the references to your methods with this number
}
else
{
name = s.nextLine();
}
count = count + 1;
}
If you have doubts about why I'm using s.nextLine()
after number
without storing any value you can look my answer to this question: Why isn't the scanner input working?
I expect it will be helpful for you!