Будет ли arraylist лучшим способом для динамического распределения емкости массива?
Да, вы можете использовать Arraylists. Но лучший способ? Сказать «да» было бы смелым ответом, но ясно, что лучше использовать в этом случае.
В данном сценарии его можно использовать так:
//an arraylist
ArrayList<Integer> userArrayList = new ArrayList<Integer>();
System.out.println("This program can also rotate arrays.\n" + "Enter any numbers, type 'end' when you finish");
//flag for while loop, in case the user prompts "end"
boolean endNotPrompted = true;
//scanner
Scanner scan = new Scanner(System.in);
while(endNotPrompted) {
//if user input is a number
if(scan.hasNextInt() == true) {
int num = scan.nextInt();
userArrayList .add(num);
}
//if not a number, checks if the user wants to finish entering numbers
else if(scan.nextLine().equals("end")) {
endNotPrompted = false;
}
}
scan.close();
/*
*rest of your code
*/
При использовании ArrayList вам не нужно знать точный размер пользовательского ввода.