Sorry if this is an obvious problem.
I'm trying to read integers from users and store them in an array.
The thing is that I want to use arraylist, because the size of the input is not for sure
If I know the size then I know a way to do that, which is
class Test1
{
public static void main(String[] args)
{
Scanner reader = new Scanner(System.in);
System.out.println("Please input your numbers");
int num; // integer will be stored in this variable
ArrayList List = new ArrayList();
// for example if I know the size of the input is 5,
// then I read one single number and put it into the arraylist.
for (int i = 0; i <= 4; i++)
{
num = reader.nextInt();
List.add(num);
}
System.out.println(List);
}
}
How to do this if I don't know the size?
Except for reading one number in each loop, is there any better way to do that?
Can I use BufferedReader instead of Scanner?
Thanks a lot for any help!
解决方案
You could change this
for (int i = 0; i <= 4; i++)
{
num = reader.nextInt();
List.add(num);
}
to use Scanner.hasNextInt() with something like
while (reader.hasNextInt())
{
num = reader.nextInt();
List.add(num);
}